Python 3.x 在子批次中绘制不同的数据帧数据

Python 3.x 在子批次中绘制不同的数据帧数据,python-3.x,pandas,dataframe,matplotlib,data-visualization,Python 3.x,Pandas,Dataframe,Matplotlib,Data Visualization,我试图在两个子地块的两个数据帧中绘制数据。我指的是 但是,我得到了以下错误 df1.plot(ax=axes[0, 0], style='o-') IndexError: too many indices for array 任何关于如何解决这个问题的建议都会非常有用。 编辑:下面提供的答案适用于1行2列 我遇到了一个2行2列的错误 import pandas as pd import numpy as np from pprint import pprint from matplotlib

我试图在两个子地块的两个数据帧中绘制数据。我指的是

但是,我得到了以下错误

df1.plot(ax=axes[0, 0], style='o-')
IndexError: too many indices for array
任何关于如何解决这个问题的建议都会非常有用。 编辑:下面提供的答案适用于1行2列

我遇到了一个2行2列的错误

import pandas as pd
import numpy as np
from pprint import pprint
from matplotlib import pyplot as plt


df1 = pd.DataFrame(np.random.randn(10, 10))
df2 = pd.DataFrame(np.random.randn(10, 10))
df3 = pd.DataFrame(np.random.randn(10, 10))
df4 = pd.DataFrame(np.random.randn(10, 10))

pprint(df1)

plt.figure()
fig, axes = plt.subplots(nrows=2, ncols=2)

df1.plot(ax=axes[0], style='o-')
axes[0].set_xlabel('x')
axes[0].set_ylabel('y')
axes[0].set_title('ttl')

df2.plot(ax=axes[1], style='o-')
axes[1].set_xlabel('x')
axes[1].set_ylabel('y')
axes[1].set_title('ttl')


df3.plot(ax=axes[2], style='o-')
axes[2].set_xlabel('x')
axes[2].set_ylabel('y')
axes[2].set_title('ttl')

df4.plot(ax=axes[3], style='o-')
axes[3].set_xlabel('x')
axes[3].set_ylabel('y')
axes[3].set_title('ttl')

plt.show()
错误:

AttributeError: 'numpy.ndarray' object has no attribute 'get_figure'

有什么建议吗?

轴是一维的,您必须这样做:

df1.plot(ax=axes[0], style='o-')
df2.plot(ax=axes[1], style='o-')

我建议阅读,看看挤压参数,你就会明白这是怎么回事。

非常感谢你的回答。你能检查一下我的编辑吗?我想你缺少了如何使用熊猫来绘制数据,我建议你读一下:当plt.subplot(nrows=2,ncols=2)时,错误发生在第17行。它适用于plt.子批次(nrows=1,ncols=2)。我查看了您提供的参考,它用于绘制数据框列。如果我遗漏了什么,请告诉我在这种情况下,轴是二维的,因此你必须做轴[I][j]I=0,1j=0,1@Natasha
df1.plot(ax=axes[0], style='o-')
df2.plot(ax=axes[1], style='o-')