Matplotlib:获取刻度标签属性(例如字体大小)?
Matplotlib: getting tick label properties (e.g. font size)?
给定一个 matplotlib 中的轴对象,我想找到刻度标签的属性,例如字体大小、旋转等
我为什么要这样做?因为我试图编写一个向绘图添加一些文本的函数,并且我希望文本默认看起来与 (y) 轴刻度标签相同。
我用谷歌搜索并找到了很多关于如何设置刻度标签属性的解释,但没有找到如何从坐标区检索这些属性的解释。
编辑:Axes.get_xticklabels
在大多数情况下都有效,但如果当前没有滴答声,它当然会中断,这种情况很少见,但这仍然不理想。似乎 Axes
对象本身有一个 属性 ,而不仅仅是这个函数返回的 Text
对象。考虑:
fig, ax = plt.subplots(1,1)
ax.yaxis.set_ticks([])
ax.yaxis.get_ticklabels() # this returns []
ax.tick_params(axis='y', labelsize=25)
ax.yaxis.set_ticks([0.5])
在 运行 这段代码之后,刻度标签“0.5”以 25 号字体显示,这意味着 25 存储在轴的某个位置,而不仅仅是在文本对象中。
您可能必须从构成刻度标签的各个 matplotlib.text.Text
对象中获取属性。
例如,如果您知道它们都是一样的:
xta = ax.get_xticklabels()
xtext = xta[0]
print(xtext.get_font()) # sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0
print(xtext.get_fontfamily()) # ['sans-serif']
print(xtext.get_fontsize()) # 10.0
print(xtext.get_rotation()) # 0.0
print(xtext.get_rotation_mode()) # None
吸气剂在链接文档中列出,或者可以在 print(dir(xtext))
中找到
给定一个 matplotlib 中的轴对象,我想找到刻度标签的属性,例如字体大小、旋转等
我为什么要这样做?因为我试图编写一个向绘图添加一些文本的函数,并且我希望文本默认看起来与 (y) 轴刻度标签相同。
我用谷歌搜索并找到了很多关于如何设置刻度标签属性的解释,但没有找到如何从坐标区检索这些属性的解释。
编辑:Axes.get_xticklabels
在大多数情况下都有效,但如果当前没有滴答声,它当然会中断,这种情况很少见,但这仍然不理想。似乎 Axes
对象本身有一个 属性 ,而不仅仅是这个函数返回的 Text
对象。考虑:
fig, ax = plt.subplots(1,1)
ax.yaxis.set_ticks([])
ax.yaxis.get_ticklabels() # this returns []
ax.tick_params(axis='y', labelsize=25)
ax.yaxis.set_ticks([0.5])
在 运行 这段代码之后,刻度标签“0.5”以 25 号字体显示,这意味着 25 存储在轴的某个位置,而不仅仅是在文本对象中。
您可能必须从构成刻度标签的各个 matplotlib.text.Text
对象中获取属性。
例如,如果您知道它们都是一样的:
xta = ax.get_xticklabels()
xtext = xta[0]
print(xtext.get_font()) # sans\-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=10.0
print(xtext.get_fontfamily()) # ['sans-serif']
print(xtext.get_fontsize()) # 10.0
print(xtext.get_rotation()) # 0.0
print(xtext.get_rotation_mode()) # None
吸气剂在链接文档中列出,或者可以在 print(dir(xtext))