我正在尝试更改y轴的每个刻度尺寸 这些滴答是单词,如果行的总和更大,我希望这些单词的大小增加,否则减少。我说的是行,因为我的图表代表了一个矩阵。
例如,我们可以想象“windows”这一行的总和将具有比“police”更高的值。如何在不改变所有其他内容的情况下增加勾选“窗口”的字体大小?
我在Python 2.7.6上使用matplotlib 1.3.1
但是,如果需要,我已准备好使用任何其他工具箱。
答案 0 :(得分:0)
您可以遍历刻度线(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()
。< / LI>
如果您不想提前设置刻度,可以通过len(plt.gca().xaxis.get_major_ticks())
计算刻度数。根据该整数,您可以设置数组MP_TICKSIZE
,例如:
import numpy as np
MP_TICKSIZE = np.random.rand(len(plt.gca().xaxis.get_major_ticks())) * 30.0
使用此代替plt.gca().set_xticks([t for t in x])
来查看差异。