一直在努力使用Python和Matplotlib模块。我正在尝试画一些没有用黑色填充和勾勒的圆圈。我在艺术家圈子里提出了正确的论点,但它似乎忽略了它并把蓝色放在了蓝色。有什么想法吗?此外,该数字会自动显示,而无需我说明绘制或显示。我如何阻止它并控制图表何时弹出?提前谢谢。
我的代码
def draw_lattice(self,chart):
patches = []
for x in range(1,4):
for y in range (1,4):
circle = Circle((x,y), .25,color='k',fill=False)
# chart.add_patch(circle)
patches.append(circle)
p = PatchCollection(patches)
chart.add_collection(p)
提前谢谢。
*更新*
如果我将每个圆单独添加到轴上,它将正确格式化。如果我添加集合,它不起作用。我还有很多形状要添加,我想走收集路线。为什么一种方式会奏效而另一种方式不起作用?我在某处读到您需要添加艺术家,但我尝试过并得到一个错误。
这是一个相当晚的答案,但我刚刚遇到了同样的问题,这是解决它的方法:
您需要做的是告诉PatchCollection
匹配原始补丁。为此,只需添加 match_original=True
,如下所示:
p = PatchCollection(my_patches, match_original=True)
您可以在创建修补程序集合时设置圆圈的颜色:
p = PatchCollection(patches,facecolors='w',edgecolor='k')
从集合文档中:
"如果边缘颜色、面色、线宽、抗锯齿中的任何一个是 None,它们默认为 matplotlib.rcParams 补丁设置,以顺序形式。