如何解决时间序列 Python 绘图问题轴不匹配
我正在处理水流数据,结果很奇怪,图中出现了奇怪的线条。
我已经阅读了不同的样本,遵循了样本,但仍然无法摆脱这些行。另外,我将日期列更改为索引列,但仍然给我这个奇怪的图表。
有人知道我的代码有什么问题吗?感谢您的帮助。
我使用的数据集:https://drive.google.com/file/d/1XpzrZ-i1c_A2XUVE4yspo5n7x0XPXwWP/view?usp=sharing
这是数据集的图片 enter image description here
# combine the 'Year' and 'Month' column
df['Date'] = pd.to_datetime(df[['Year','Month']].assign(DAY=1))
# select only the 'Date' and 'Total_Surface_Water_diverted' column
df=df.loc[:,['Date','Total_Surface_Water_diverted']]
# change "Date" to index column
df['Date'] = pd.to_datetime(df['Date'],format='%Y-%m-%d')
df = df.set_index('Date')
#check out the data types of each column.
df.dtypes
#plot the total surface water diverted per month
fig_size = plt.rcParams["figure.figsize"]
fig_size[0] = 15
fig_size[1] = 5
plt.rcParams["figure.figsize"] = fig_size
def plot_data(df):
plt.title('')
plt.ylabel('Total_Surface_Water_diverted')
plt.xlabel('Month')
plt.grid(True)
plt.autoscale(axis='x',tight=True)
plt.plot(df['Total_Surface_Water_diverted'])
plt.show()
plot_data(df)
这是有线图 enter image description here
解决方法
您的数据集大约有 381k 行。您的数据有 13 年,每个 12 个月,所以我很确定您的数据不是按日期单调排序的。事实上,我猜日期跳动了很多。为了说明这一点,如果每次日期小于前一个日期时都拆分此数据,则会得到多个较小的集合,每个集合可以画一条线。由于你在你的图中只画了一条线,所有这些点都是相连的,这条线会来回,来回。
在下图中,您可以看到年份之间存在差距。这可能意味着您的数据按年份排序。
您必须弄清楚您的数据代表什么以及为什么同一年有多个数据点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。