如何在python中更改多边形特定边的颜色?

如何在python中更改多边形特定边的颜色?,python,matplotlib,colors,polygon,Python,Matplotlib,Colors,Polygon,有一个多边形,我想知道如何改变它的特定边缘的颜色,如下图所示 最简单的方法是在多边形的两个相关顶点之间绘制一条线,即 plt.plot[coords[0,0],coords[-1,0]],[coords[0,1],coords[-1,1]],color='r',lw=5 我会给你 尽管我建议为多边形添加一个与此线宽度相同、颜色与facecolor相同的边框: 多边形=plt.多边形命令,fc='w',ec='w',lw=5 作为一种使红线看起来齐平的方法。您可以更改边的颜色,只需更改plt.pl

有一个多边形,我想知道如何改变它的特定边缘的颜色,如下图所示


最简单的方法是在多边形的两个相关顶点之间绘制一条线,即

plt.plot[coords[0,0],coords[-1,0]],[coords[0,1],coords[-1,1]],color='r',lw=5 我会给你

尽管我建议为多边形添加一个与此线宽度相同、颜色与facecolor相同的边框:

多边形=plt.多边形命令,fc='w',ec='w',lw=5 作为一种使红线看起来齐平的方法。您可以更改边的颜色,只需更改plt.plot中坐标[i,j]的索引,只要索引与环绕相邻,那么最后一个索引和第一个索引相邻,绘制的线将是边而不是对角线


还请注意,您可以通过使用切片或辅助函数来缩短绘图命令,但为了明确起见,我忽略了这一点。

谢谢。是的,它起作用了,但是你的红线长度如何等于多边形边,而我的则更大?@Hamed这是因为为多边形设置了一个边界,与绘制的线具有相同的宽度,与多边形facecolorNice具有相同的颜色。例如,当我们将线宽增加到5时,线宽将延伸到多边形外,在某些情况下,多边形与黑色矩形具有相同的边界,但它不起作用,并且线宽保持为1。这是一种增加线条宽度的方法吗?在这种方法中,增加的线条在多边形内部而不是外部?@Hamed我不确定我是否理解你的意思:你能给我一个链接到发生问题的图像吗?在图中,你可以看到白色五角大楼和黑色矩形的左边缘是相同的,因此线条宽度是1而不是4。
import matplotlib.pyplot as plt
import numpy as np


## -----------------------Initialize Geometry----------------------- 
pixels = 600
my_dpi = 100

coord = [[-150,-200],[300,-200],[300,0],[150,200],[-150,200]]


fig = plt.figure(figsize=( pixels/my_dpi,  pixels/my_dpi), dpi=my_dpi)  

plt.axes([0,0,1,1])

rectangle = plt.Rectangle((-300, -300), 600, 600, fc='k')
plt.gca().add_patch(rectangle)
polygon = plt.Polygon(coord,fc='w')
plt.gca().add_patch(polygon)
plt.axis('off')
plt.axis([-300,300,-300,300])

plt.savefig('figure1/5.jpg',dpi=my_dpi)