如何解决绘制多个条形图时以科学记数法表示的 Y 轴标签
我试图将多个条形图绘制为子图,但 y 轴不断获得科学记数法值。我运行的初始代码是:
from matplotlib import pyplot as plt
fig,axes = plt.subplots(7,3,figsize = (25,40)) # axes is a numpy array of pyplot Axes
axes = iter(axes.ravel())
cat_columns=['Source','Side','State','Timezone','Amenity','Bump','Crossing','Give_Way','Junction','No_Exit','Railway','Roundabout','Station','Stop','Traffic_Calming','Traffic_Signal','Turning_Loop','Sunrise_Sunset','Civil_Twilight','Nautical_Twilight','Astronomical_Twilight']
for col in cat_columns:
ax = df[col].value_counts().plot(kind='bar',label = col,ax=axes.__next__())
输出如下所示:
fig,ax=axes.__next__())
ax.ticklabel_format(uSEOffset=False,style='plain')
使用此行后 ax.ticklabel_format(uSEOffset=False,style='plain') 我收到如下错误:
解决方法
您可以通过创建自定义 ScalarFormatter 对象并关闭科学记数法来关闭此功能。有关更多详细信息,请参阅 matplotlib 文档页面 on tick formatters 和 on ScalarFormatter
。
# additional import statement at the top
from matplotlib import pyplot as plt
from matplotlib import ticker
# additional code for every axis
formatter = ticker.ScalarFormatter()
formatter.set_scientific(False)
ax.yaxis.set_major_formatter(formatter)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。