0
我正在尝试更改matplotlib中日志图的刻度标签,通过手动设置标签可以正常工作。但是,通常会出现下面显示的问题,手动移动标签似乎会保留一些旧标签。任何想法如何解决这个问题?如何更改matplotlib中的日志刻度刻度标签
import matplotlib.pyplot as plt
%matplotlib inline
fig, ax = plt.subplots()
x = [1, 10]
y = [0, 1]
ax.plot(x, y)
ax.set_xscale('log')
ax.set_xlim(0, 10)
ax.set_xticks([2.5, 7.5])
此外,我最近升级到matplotlib 2.0.2,我不记得以前见过这种行为。
谢谢,这作品!一个简短的后续问题 - 你会如何显示刻度标签为10^{ - 1},10^{ - 2},如果可能的话还有2 \ times 10^{ - 1}。 [想象它是LaTeX,我不知道如何将它显示在计算器上。] – physicsGuy
'ax.xaxis.set_major_formatter(StrMethodFormatter('{x:.0E}'))'在ofc设置适当的xticks之后;在答案方法中,您将格式强制为1位小数浮点;这会迫使它为0十进制的科学记数法。还有其他的选项,但我相信你可以找到关于字符串格式的主题,它可以在比我更短的时间内给你更多的信息。 ;) – Uvar
我在寻找稍微不同的东西。基本上我想要一个格式化程序,它显示带有实际指数的刻度标签,如我的问题所示。我发现'matplotlib.ticker.LogFormatterMathtext'就是这么做的。不过,谢谢您将我指向股票代码包,这非常有帮助。 – physicsGuy