簡體   English   中英

軸中科學記數法的字體大小不一致

[英]Inconsistent font size for scientific notation in axis

我正在嘗試繪制一個 x 軸將以科學記數法顯示的圖。 我找到的方法是使用ticklabel_format函數。 不幸的是,這不尊重我分配給軸中顯示的數字的字體大小,請參見下圖:

在此處輸入圖片說明

即使我設置了相同的標簽大小, 1e-121e4也會以不同的字體大小顯示。

我怎么能解決這個問題? (下面是MWE

import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0.0, 10000.0, 10.)
s = np.sin(np.pi*t)*np.exp(-t*0.0001)

fig, ax = plt.subplots()

ax.tick_params(axis='both', which='major', labelsize=7)
plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0), labelsize=7)
plt.plot(t,s)

plt.show()

根據ticklabel_format文檔,該函數不接受labelsize參數。

您可以使用matplotlib.rc更改字體大小:

plt.rc('font', size=7)

在此處輸入圖片說明

我想這是因為該科學表示不被視為刻度標簽,您可以使用:

import matplotlib
matplotlib.rc('font', size=7)

或者

matplotlib.rcParams['font.size']=7

和刪除labelsize=7ax.tick_params

我認為這會對您有所幫助,而無需更改全局設置:

ax.yaxis.get_offset_text().set_fontsize(size)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM