Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python matplotlib更改一个轴的每个记号的字体大小_Python_Python 2.7_Matplotlib_Font Size_Ticker - Fatal编程技术网

使用python matplotlib更改一个轴的每个记号的字体大小

使用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

我正在尝试更改y轴的每个刻度大小。 这些记号是单词,如果行的总和较大,我希望这些单词的大小增大,否则减小。我之所以说行,是因为我的图代表的是一个矩阵

例如,我们可以想象单词windows行的总和的值将高于police。如何在不更改所有其他窗口的情况下增加勾选窗口的字体大小

我正在Python2.7.6上使用matplotlib 1.3.1


但是,如果需要,我可以使用任何其他工具箱。

您可以循环遍历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