Python 如何解决轴0的误差指数超出范围?

Python 如何解决轴0的误差指数超出范围?,python,for-loop,matplotlib,Python,For Loop,Matplotlib,有多个多边形,我想为其更改特定边的颜色和宽度。多边形初始化没有问题(图1),但当我想更改for循环(图2)中多边形的一条边的颜色和宽度时,会产生错误 文件“C:\Users\Initi\uuuubc\u1024\ue2.py”,第41行,在 顶点[4,i,0,:]=一个坐标[j][1][:] 索引器:索引4超出大小为4'的轴0的界限 图1。初步多边形(输入) 图2。最终多边形(输出) 将numpy导入为np 将matplotlib.pyplot作为plt导入 像素=600 my_dpi=1

有多个多边形,我想为其更改特定边的颜色和宽度。多边形初始化没有问题(图1),但当我想更改for循环(图2)中多边形的一条边的颜色和宽度时,会产生错误

文件“C:\Users\Initi\uuuubc\u1024\ue2.py”,第41行,在
顶点[4,i,0,:]=一个坐标[j][1][:]
索引器:索引4超出大小为4'的轴0的界限
图1。初步多边形(输入)

图2。最终多边形(输出)

将numpy导入为np
将matplotlib.pyplot作为plt导入
像素=600
my_dpi=100
num_geo=4
单坐标=np.数组([[-150,-200],[300,-200],[300,0],[150200],-150200],
[[-300, -200], [200, -300], [200, -50], [200, 300], [-150, 200]],
[[-140, -230], [350, -260], [350, 0], [140, 200], [-180, 220]],
[[-180, -240], [370, -270], [370, 0], [170, 200], [-190, 230]]])
对于范围(4)中的i:
geo=one_coord[i,:,:]
打印(一坐标[i])
图=plt.图(num_geo,figsize=(像素/my_dpi,像素/my_dpi),
facecolor='k',dpi=my\u dpi)
plt.轴([0,0,1,1])
矩形=plt.矩形(-300,-300),600600,fc='k')
plt.gca().add_补丁(矩形)
多边形=plt.多边形(单坐标[i],颜色为w')
plt.gca().add_面片(多边形)
打印轴(“关闭”)
plt.轴([-300300,-300300])
plt.close()
顶点数=5
顶点=np.零((4,顶点数,2,2))
对于范围内的j(num_geo):
一方合作[j]
对于范围内的k(顶点_数-1):#范围(4)、(0,1,2,3)
顶点[j]=一坐标[j][k:k+2]#(0:2)到(3:5)
顶点[j,4,0,:]=一个坐标[j][1][:]
顶点[j,4,1,:]=一个坐标[j][0][:]
plt.plot(顶点[j,:,0],顶点[j,:,1],线宽=5,color='r')
plt.savefig('figureBc/%d.jpg'%i,dpi=my_dpi)
plt.close()
线路

vertex=np.zero((4,顶点数,2,2))
创建一个具有形状
(4,顶点编号,2,2)
的numpy数组。由于python索引从零开始,这意味着第零轴(错误回溯中的轴0)具有索引
0、1、2、3
,因此

顶点[4,i,0,:]
正在尝试访问第一个轴上的索引
4
,该轴不存在。对于每个轴,索引必须始终小于
大小(独占)。

欢迎使用堆栈溢出!请将您的问题包括完整的错误回溯。根据您提供的内容,您正在尝试索引到一个只有4个元素(零索引表示索引为0,1,2,3)的数组中,索引为4,这将是第五个元素。谢谢。这个错误已经修复了,但我仍然不能在左边画出如图2所示的红线。我知道我的for循环中有一个问题,但不知道在哪里。@Hamed因为这个答案解决了这个问题中的问题,并且您已经打开了一个,所以您应该回答这个问题,以便为将来的用户标记这个问题。