【发布时间】:2016-10-21 23:41:57
【问题描述】:
我试图在同一张图上绘制两个数据框。我想这样做五次以产生五个不同的图形,以便它们可以保存为单独的文件以便以后使用。但是,我无法在同一张图上获得这两组数据。当我在网格中有多个子图时,我知道如何在同一个图上绘制两组数据,以及在同一个图上不使用数据框时如何绘制两组数据。但是,这似乎让我感到困惑。
tableau20=xcolorpallet()
f0,axes00=plt.subplots()
axes01=axes00.twinx()
df00=df00.drop('elev', 1)
ax00min=float(df00.min())
ax00max=1.05*float(df00.max())
ax00step=int((ax00max-ax00min)/10)
ax10min=float(df10.min())
ax10max=1.05*float(df10.max())
ax10step=int((ax10max-ax10min)/10)
df00.plot(linewidth=2, figsize=(9,6),color=tableau20[6])
axes00.set_ylabel(v00,fontsize=14, rotation=90)
axes00.set_ylim(ax00min,ax00max)
axes00.set_yticks(np.arange(ax00min,ax00max,ax00step))
df10.plot(fig=f0,ax=axes01,secondary_y=v10,linewidth=2,color=tableau20[14])
f0.set_title(v10,fontsize=18)
axes01.set_ylabel(v00,fontsize=14, rotation=90)
axes01.set_ylim(ax00min,ax00max)
axes01.set_yticks(np.arange(ax00min,ax00max,ax00step))
plt.show()
目前,它正在生成两个单独的图表,上面有我的数据,这很好,但不是我想要的。有什么建议吗?
以下是一些示例数据,可让您了解我要绘制的内容:
df00:
time Temp
2014-08-16 12:02:40 68.0
2014-08-16 12:17:40 69.0
2014-08-16 12:32:40 68.0
2014-08-16 12:47:40 68.0
2014-08-16 13:02:40 68.0
2014-08-16 13:17:40 68.0
2014-08-16 13:32:40 68.0
2014-08-16 13:47:40 68.0
2014-08-16 14:02:40 68.0
2014-08-16 14:17:40 68.0
2014-08-16 14:32:39 66.0
2014-08-16 14:32:40 67.0
2014-08-16 14:47:39 66.0
2014-08-16 14:47:40 66.0
2014-08-16 15:02:40 66.0
2014-08-16 15:17:39 64.0
2014-08-16 15:17:40 65.0
...
df10:
date_time Temperature
2014-08-16 12:00:00 17.3997
2014-08-16 13:00:00 16.9094
2014-08-16 14:00:00 16.4693
2014-08-16 15:00:00 15.9627
2014-08-16 16:00:00 15.5795
2014-08-16 17:00:00 15.5492
2014-08-16 18:00:00 15.2729
2014-08-16 19:00:00 15.2119
2014-08-16 20:00:00 15.3572
2014-08-16 21:00:00 15.497
2014-08-16 22:00:00 15.349
2014-08-16 23:00:00 15.3398
2014-08-17 00:00:00 15.5546
2014-08-17 01:00:00 14.9101
2014-08-17 02:00:00 15.279
2014-08-17 03:00:00 15.2961
2014-08-17 04:00:00 15.003
2014-08-17 05:00:00 15.4753
...
我很抱歉最初没有包含它。我认为这是一个图形问题,但它似乎在很大程度上变成了数据帧之间的兼容性问题。
【问题讨论】:
-
您要在同一个
ax对象上绘制多个折线图然后保存,还是使用相同的格式绘制五次并分别保存? -
我想在同一个图表上绘制两条线,然后保存该图表。然后,我想再做五次。这里只有一次。我有其他五组数据,因为我可能并不总是在该数据框中绘制变量,所以我可能并不总是想要绘制其中一张图,因此在绘制之前使用 if 语句检查数据框是否存在。我可以向你展示整个东西的样子,但它有超过一百行代码。
-
您使用
twinx是因为您想要两个图表吗?要在同一个图表上绘图,您宁愿使用相同的ax对象两次。 -
但是当我这样做时,我收到了这个错误:
ValueError: ordinal must be >= 1
标签: python-2.7 pandas matplotlib graph