构建子图

时间:2018-05-31 08:24:43

标签: python dataframe matplotlib

我正在尝试创建一系列子图:

count=0
fig1, axes1 = plt.subplots(nrows=2, ncols=1, figsize=(10,80))
for x in b:
   """code gets data here as a dataframe"""
   axes1[count]=q1.plot()
   count=count+1

然而,这会在一个图中创建两个图而不是两个子图。我在Pycharm中使用python 3.5。在我这里做错了,我的脑子里绞尽脑汁

2 个答案:

答案 0 :(得分:0)

您正在使用fig1, axes1 = plt.subplots(...)创建一个轴数组(子图)。然后,当您执行

时,您将覆盖此数组的元素
axes1[count]=q1.plot()

为该数组的元素分配了q1.plot()的返回值。

如果您使用的是纯matplotlib,您可能要做的是使用轴直接使用axes1[count].plot(...)进行绘图。在使用pandas时,将轴作为参数传递给绘图函数:

count=0
fig1, axes1 = plt.subplots(nrows=2, ncols=1, figsize=(10,80))
for x in b:
   """code gets data here as a dataframe"""
   q1.plot(ax=axes1[count])
   count=count+1

答案 1 :(得分:0)

我使用了以下

q1.plot(title=str(x), legend=True, ax=axes1[count])