我正在尝试绘制一个图表,显示使用 matplotlib (python) 和 pandas 的每月值的变化,但由于我是新手,所以我在处理它时遇到了困难。提前对格式表示歉意。
这是数据框的示例:
Year Month Value
2014 January 510
2014 February 542
2014 March 684
2014 April 700
2014 May 732
2014 July 603
2014 August 643
2014 September 680
2014 October 723
2014 November 760
2014 December 810
2015 January 920
2015 February 900
2015 March 780
2015 April 710
2015 May 810
2015 July 895
2015 August 906
2015 September 945
2015 October 980
2015 November 1000
2015 December 1123
这是我尝试过的(缩短版本):
import matplotlib.pyplot as plt
plt.title('Monthly data over several years')
plt.plot(df['Month'].to_list(), df['Value'].to_list())
这将导致 2015 年每个月在 Y 轴上绘制的值返回到上一年的相应月份,而不是在 2015 年 1 月至 12 月的 Y 轴上。例如,2015 年 1 月的值 920 将在 Y 轴上直接返回到 2014 年 1 月。
我也尝试过:
months = {"January": 1, "February": 2, "March": 3, "April": 4, "May": 5, "June": 6,
"July": 7, "August": 8, "September": 9, "October": 10, "November": 11, "December": 12}
df{'Month'] = df.Month.map(months)
df['Date'] = df['Year'].map(str) + '-' + df['Month'].map(str)
这是为了将月份与相应的年份连接起来以避免前面的问题,但是,我最终在 df['Months'] 列中得到 NaN 值。此外,我觉得如果它确实有效的话,它会在x轴上填充过多的xticks(或标签??)。
我想要的是一个类似时间序列的绘图,显示两年内值的每月变化。我正在努力在图表上整齐地构造 xticks。否则,条形图会更好吗?
慕勒3428872
相关分类