对于y轴上的每个刻度标签,我要更改:
label -> 2^label
我正在绘制日志数据(基2),但我希望标签显示原始数据值。
我知道我可以用
ylabels = plt.getp(plt.gca(), 'yticklabels')
这给了我一个列表:<a list of 9 Text yticklabel objects>
每一个都是<matplotlib.text.Text object at 0x...>
我在http://matplotlib.org/users/text_props.html查看了文本对象的文档 但我仍然不确定更改每个文本标签中的字符串的正确语法是什么。
一旦我更改了标签,我就可以在轴上使用:
plt.setp(plt.gca(), 'yticklabels', ylabels)
根据http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_yticks
a = plt.gca()
a. set_yticks(list_of_labels)
如果要在一般情况下执行此操作,可以使用
FuncFormatter
(请参见: matplotlib axis label format,imshow: labels as any arbitrary function of the image indices。Matplotlib set_major_formatter AttributeError)在您的情况下,以下操作应该有效:
脱离的
{}
转义是来自matching的新样式字符串的结果相关问题 更多 >
编程相关推荐