我有一个条形图,看起来像我想要的样子,除了 y 轴上的科学记数法。
其他一些解决方案包括使用
ax.yaxis.set_major_formatter(tick)
这不起作用。此外,我尝试检查这是否是偏移问题,但它应该显示一个“+”号,在这种情况下它没有。
每当我使用:
plt.ticklabel_format(style='plain')
我收到一条错误消息说:
Traceback (most recent call last):
File "C:\Python\lib\site-packages\matplotlib\axes\_base.py", line 2831, in ticklabel_format
self.xaxis.major.formatter.set_scientific(sb)
AttributeError: 'FixedFormatter' object has no attribute 'set_scientific'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Python/Projects/Kaggle 1.py", line 13, in <module>
plt.ticklabel_format(style='plain')
File "C:\Python\lib\site-packages\matplotlib\pyplot.py", line 2982, in ticklabel_format
useMathText=useMathText)
File "C:\Python\lib\site-packages\matplotlib\axes\_base.py", line 2856, in ticklabel_format
"This method only works with the ScalarFormatter.")
AttributeError: This method only works with the ScalarFormatter.
我已经研究过这个 ScalarFormatter,但我不知道为什么它不起作用;我试图在代码中明确包含它,但它不起作用。
我使用的代码是:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv("100 Sales Records.csv")
df_new = df.groupby(['Region']).sum().sort_values("Total Profit", ascending=False)
regions = ('Sub-Saharan Africa', 'Europe', 'Asia', 'Middle East and North Africa', 'Australia and Oceania', 'Central America and the Caribbean', 'North America')
profit = df_new['Total Profit']
y_pos = np.arange(len(profit))
plt.bar(y_pos, profit)
plt.xticks(y_pos, regions)
plt.ticklabel_format(style='plain')
plt.title('Sum of Sales')
plt.show()
该图表目前如下所示:
慕森卡
蝴蝶不菲
相关分类