看
Formatter课。除非您在刻度上加上文字,否则几乎永远不要直接使用
set_xticklabels或
set_yticklabels。这样可以完全将剔号标签与数据分离。如果您调整视图限制,则刻度标签将保持不变。
在您的情况下,已经存在用于此目的的格式化程序:
fig, ax = plt.subplots()ax.loglog(np.logspace(0, 5), np.logspace(0, 5)**2)ax.xaxis.set_major_formatter(matplotlib.ticker.LogFormatterExponent())
matplotlib.ticker.LogFormatterExponent
doc
通常可以使用
FuncFormatter。有关如何使用的示例,
FuncFomatter请参见matplotlib:更改yaxis刻度标签,这是许多围绕SO浮动的示例之一。
一个简洁的示例,它从注释中的JoeKington完全摘录了您想要的内容:
ax.xaxis.set_major_formatter( FuncFormatter(lambda x, pos: '{:0.1f}'.format(log10(x))))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)