我正在处理一个相当大的数据集。这是一个包含8列(y1-y8)
和1列(x)
和日期数据(format: m/d/Y)
的文件。在
我想对比一下8列随时间的变化,一个曲线图似乎是最好的选择。在
这是我的代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import matplotlib.cbook as cbook
import matplotlib.dates as mdates
import datetime
from matplotlib.dates import DateFormatter
%matplotlib inline
df = pd.read_excel('Masterfile_allSTW.xlsx', 'Sheet1')
#data
#df.TS_TIMESTAMP = df.TS_TIMESTAMP.astype(str)
x = df['dates']
y1 = df['Rtemp_EG']
y2 = df['Rtemp_EG+1.OG']
y3 = df['Rtemp_1.OG']
y4 = df['Rtemp_2.OG']
y5 = df['Rtemp_3.OG']
y6 = df['Rtemp_4.OG']
y7 = df['Rtemp_5.OG']
y8 = df['Rtemp_6.OG']
#plot data
fig, ax = plt.subplots(figsize=(15,7))
df.plot(ax=ax)
#set ticks every week
ax.xaxis.set_major_locator(mdates.DayLocator())
#set major ticks format
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m %d'))
运行脚本时,该图如下所示:
我对绘图图的外观非常满意,唯一缺少的是x
轴上的日期描述(它应该来自('dates')
列)。我觉得问题出在df.plot(ax=ax)
行中,但我不确定。在
非常感谢任何帮助!在
实际上,问题在于
df.plot(ax=ax)
。尝试将其替换为df.plot(x='dates')
,以针对单个特定列进行绘图。在如果其他答案在这里没有帮助,我建议将日期列作为绘制索引。在某些情况下,如果日期是一个列似乎会有问题,但我不明白为什么会这样。在
相关问题 更多 >
编程相关推荐