Python 索引器错误:basic程序数组的索引太多
此程序非常简单,但我不知道为什么会出现此错误: 索引器:数组的索引太多 对于Python 索引器错误:basic程序数组的索引太多,python,pandas,matplotlib,Python,Pandas,Matplotlib,此程序非常简单,但我不知道为什么会出现此错误: 索引器:数组的索引太多 对于df1(甚至不转到df2)会捕获错误。有人能解释我为什么会犯这个错误吗?我认为更大的问题是我不理解的2乘1子图的逻辑是什么 节目如下: import pandas as pd import matplotlib.pyplot as plt x = range(5) y = range(0,10,2) w = x z = y df1 = pd.DataFrame(data = {'col1':x,'col2':y})
df1
(甚至不转到df2
)会捕获错误。有人能解释我为什么会犯这个错误吗?我认为更大的问题是我不理解的2乘1子图的逻辑是什么
节目如下:
import pandas as pd
import matplotlib.pyplot as plt
x = range(5)
y = range(0,10,2)
w = x
z = y
df1 = pd.DataFrame(data = {'col1':x,'col2':y})
df2 = pd.DataFrame(data = {'col1':w,'col2':z})
fig, axes = plt.subplots(2,1)
df1.plot(ax=axes[0,0])
df2.plot(ax=axes[1,0])
您需要指定正确的索引。由于您使用的是
plt.子地块(2,1)
,因此轴
对象的长度为2,其中第一个子地块和第二个子地块分别使用索引[0]
和[1]
进行访问。如果您执行打印(axes.shape)
,您将获得(2,)
,因此您没有第二个索引。对于plt.子图(2,2)
,打印(轴形状)
将给出(2,2)
,您可以在其中使用双索引
当有多个列时,可以使用轴[0,0]
,轴[1,0]
,轴[0,1]
,轴[1,1]
等等。对于单个列,轴[0,0]
必须替换为ax[0]
,轴[1,0]
必须替换为ax[1]
fig, axes = plt.subplots(2,1)
print (len(axes))
# 2
df1.plot(ax = axes[0])
df2.plot(ax = axes[1])
替代方法是
axes[0].plot(df1)
axes[1].plot(df2)
您的方式适用于2乘2子地块
fig, axes = plt.subplots(2,2)
print (axes.shape)
# (2, 2)
df1.plot(ax = axes[0,0])
df2.plot(ax = axes[0,1])
df1.plot(ax = axes[1,0])
df2.plot(ax = axes[1,1])
使用
图,轴=plt.子批次(2,1,挤压=假)
如副本所示。