我有一个pandas dataframe
,其中包含以下格式的两列:
df.head()
column1 column2
time
1900-01-01 12:30:05.089883 19042.5 19042.8615
1900-01-01 12:30:05.210055 19042.5 19042.8615
1900-01-01 12:30:05.290165 19042.5 19042.8615
1900-01-01 12:30:05.449856 19042.5 19042.8615
我正在同一matplotlib axes subplot
def plot(df):
ax = df.plot(y='column1', figsize=(20, 8))
df.plot(y='column2', ax=ax)
# this doesn't make a difference
ax.ticklabel_format(style='plain', axis='y')
mpl.pyplot.show()
plot(df)
我想以plain
格式打印y轴 - 如何强制它停止使用scientific
?
也就是说,y轴从0
变为6
,并且还有一个标签1.9037e4
。我希望从19037
到19043
我已经尝试过这个,但它没有什么区别:
ax.ticklabel_format(style='plain', axis='y')
答案 0 :(得分:2)
来自docs:
为了减少滴答标记重叠的几率 标记为固定偏移的增量。例如:
ax.plot(np.arange(2000, 2010), range(10))
的刻度为0-9,偏移量为+ 2e3。如果不希望这样 关闭默认格式化程序上偏移量的使用:
ax.get_xaxis().get_major_formatter().set_useOffset(False)
设置rcParam
axes.formatter.useoffset=False
将其关闭 全局,或设置不同的格式化程序。
所以,你可以写
ax.get_yaxis().get_major_formatter().set_useOffset(False)
关闭偏移量。