gpt4 book ai didi

python - 表数据的 Python 绘图轴

转载 作者:行者123 更新时间:2023-11-28 18:16:22 25 4
gpt4 key购买 nike

我正在学习 python,并且一直试图从我的表中绘制数据。这是我的一段代码:

    df1 = populationReport.loc[['Time','VIC','NSW','QLD']]

df1 = df1.set_index('Time')

print(df1)

plt.plot(df1)
plt.legend(df1.columns)
plt.ylabel ('Population')
plt.xlabel ('Timeline')


plt.show()

我需要 X 轴来显示“时间”列中的信息。但到目前为止,它只在我的表格中显示行号。

附加图像显示了所需的图,但 x 轴不应显示条目数,而是“时间”列中的数据 my draft plot

表格如下所示:

           VIC        NSW        QLD
Time
1/12/05 5023203.0 6718023.0 3964175.0
1/3/06 5048207.0 6735528.0 3987653.0
1/6/06 5061266.0 6742690.0 4007992.0
1/9/06 5083593.0 6766133.0 4031580.0
1/12/06 5103965.0 6786160.0 4055845.0

最佳答案

我想你可以使用 to_datetime , 如有必要,定义 formatdayfirst 参数:

df1 = populationReport[['Time','VIC','NSW','QLD']]
df1['Time'] = pd.to_datetime(df1['Time'], format='%d/%m/%y')
#alternative
#df1['Time'] = pd.to_datetime(df1['Time'], dayfirst=True)
df1 = df1.set_index('Time')
print (df1)
VIC NSW QLD
Time
2005-12-01 5023203.0 6718023.0 3964175.0
2006-03-01 5048207.0 6735528.0 3987653.0
2006-06-01 5061266.0 6742690.0 4007992.0
2006-09-01 5083593.0 6766133.0 4031580.0
2006-12-01 5103965.0 6786160.0 4055845.0

然后可以使用 DataFrame.plot :

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

ax = df1.plot()
ticklabels = df1.index.strftime('%Y-%m-%d')
ax.xaxis.set_major_formatter(ticker.FixedFormatter(ticklabels))
plt.show()

关于python - 表数据的 Python 绘图轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48125825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com