【发布时间】:2018-04-11 14:35:50
【问题描述】:
我的问题与post 有关,但是那里的解决方案对我不起作用。以下是我所拥有的:
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
# Create example df
df = pd.DataFrame({
'date': ['2017-01-01', '2017-02-01', '2017-03-01', '2017-04-01'],
'Actual': [10250000000, 10350000000, 10400000000, 10380000000],
'Forecast': [9000000000, 10315000000, 10410000000, 10400000000]
})
#Plot df
plt.rcParams["figure.figsize"] = (14, 8)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(df.date, df['Actual'], c='black', linewidth=3.0)
ax.plot(df.date, df['Forecast'], c='blue')
plt.show()
如您所见,y 轴的比例为 1e10。我希望它改为 1e9。我从链接到的帖子中尝试了以下解决方案,但它们不起作用:
plt.rcParams["figure.figsize"] = (14, 8)
plt.rcParams['axes.formatter.useoffset'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(df.date, df['Actual'], c='black', linewidth=3.0)
ax.plot(df.date, df['Forecast'], c='blue')
plt.show()
和
plt.rcParams["figure.figsize"] = (14, 8)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(df.date, df['Actual'], c='black', linewidth=3.0)
ax.plot(df.date, df['Forecast'], c='blue')
y_formatter = matplotlib.ticker.ScalarFormatter(useOffset=False)
ax.yaxis.set_major_formatter(y_formatter)
plt.show()
【问题讨论】:
-
事实上,我确实在post you linked to 中找到了您要查找的内容。无论出于何种原因,实际正确的答案是third ranked one。
标签: python matplotlib