使用python matplotlib更改一个轴的每个记号的字体大小
我正在尝试更改y轴的每个刻度大小。 这些记号是单词,如果行的总和较大,我希望这些单词的大小增大,否则减小。我之所以说行,是因为我的图代表的是一个矩阵 例如,我们可以想象单词windows行的总和的值将高于police。如何在不更改所有其他窗口的情况下增加勾选窗口的字体大小 我正在Python2.7.6上使用matplotlib 1.3.1使用python matplotlib更改一个轴的每个记号的字体大小,python,python-2.7,matplotlib,font-size,ticker,Python,Python 2.7,Matplotlib,Font Size,Ticker,我正在尝试更改y轴的每个刻度大小。 这些记号是单词,如果行的总和较大,我希望这些单词的大小增大,否则减小。我之所以说行,是因为我的图代表的是一个矩阵 例如,我们可以想象单词windows行的总和的值将高于police。如何在不更改所有其他窗口的情况下增加勾选窗口的字体大小 我正在Python2.7.6上使用matplotlib 1.3.1 但是,如果需要,我可以使用任何其他工具箱。您可以循环遍历ticks plt.gca.xaxis.get_major_ticks并设置如下属性: import
但是,如果需要,我可以使用任何其他工具箱。您可以循环遍历ticks plt.gca.xaxis.get_major_ticks并设置如下属性:
import matplotlib.pyplot as plt
MP_TICKSIZE = [10.0, 15.0, 20.0]
plt.subplot(111)
x = [1.0, 2.0, 3.0]
y = [1.0, 2.0, 3.0]
plt.plot(x,y)
plt.gca().set_xticks([t for t in x])
count = 0
for tick in plt.gca().xaxis.get_major_ticks():
tick.label1.set_fontsize(MP_TICKSIZE[count])
count += 1
plt.show()
这将导致该图:
有两件事需要注意:
您可以通过循环主要记号来设置单个记号标签的大小,这就是for循环的作用。如果您有特定的轴控制柄,请使用它而不是gca。
您需要知道本例中的刻度数,否则,您的索引迟早会超出范围
如果不想预先设置刻度,可以通过lenplt.gca.xaxis.get_major_ticks计算刻度数。基于该整数,您可以设置数组MP_TICKSIZE,例如:
使用此选项而不是plt.gca.set_xticks[t代表x中的t]来查看差异。如果我这么晚才回答,请原谅。但我在使用IPython时遇到了很多问题。现在一切正常。非常感谢你的帮助。。。
import numpy as np
MP_TICKSIZE = np.random.rand(len(plt.gca().xaxis.get_major_ticks())) * 30.0