Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib savefig pdf不';不能显示一些多边形_Python_Matplotlib - Fatal编程技术网

Python Matplotlib savefig pdf不';不能显示一些多边形

Python Matplotlib savefig pdf不';不能显示一些多边形,python,matplotlib,Python,Matplotlib,我正在制作一个相对简单的情节,看起来效果不错。我有许多线段,每个线段定义一个区域。我正在使用plot.Polygon和ax.add_patch为填充区域使用多边形 当我保存到.png时,一切正常。所以,我转向pdf来获取最终图像。我手动设置了fontsize、figsize和dpi,所以应该没有问题 遗憾的是,当前图片中四个多边形中有两个没有显示在pdf中。这很奇怪;前两个图像(其他数据集)的操作正确。我在Polygons上玩了一会儿zorder和alpha,但没用 我的谷歌搜索没有发现任何东西

我正在制作一个相对简单的情节,看起来效果不错。我有许多线段,每个线段定义一个区域。我正在使用
plot.Polygon
ax.add_patch
为填充区域使用多边形

当我保存到.png时,一切正常。所以,我转向pdf来获取最终图像。我手动设置了
fontsize
figsize
dpi
,所以应该没有问题

遗憾的是,当前图片中四个
多边形中有两个没有显示在pdf中。这很奇怪;前两个图像(其他数据集)的操作正确。我在
Polygons
上玩了一会儿
zorder
alpha
,但没用

我的谷歌搜索没有发现任何东西;它提到如果您没有手动设置dpi,dpi会有所不同,但这没有问题。除此之外,我找不到明确的理由

我诚挚的感谢,
Daimonie

好的,我发现了问题所在

首先,为了清晰起见,让我们说明一下我用来添加多边形的方法。定义顶点的点$(x,y)$称为
顶点
。多边形制作为:

first_polygon = plt.Polygon(vertices, zorder=.1, facecolor=colours[colour_index], alpha=fill_opacity)
接下来,我将其添加到图中:

ax.add_patch(first_polygon)

那么为什么它没有显示一些多边形呢?我不能确定原因,但当我重新定义多边形时,问题解决了。未显示的两个多边形由三条线绑定。第一个多边形由
y0,y1,y2
和图形的“框架”绑定。因为我仍在缩放图形,所以我将“框架”绑定的点设置为$(100,-100)$。当我将其更改为$(minux,minuy)$时,它突然正确地显示出来

昨天有一个类似的问题:;是其他模块干扰了pdf的生成。看一看,也许你想构造一个最小的例子,然后一次添加一个特性来找出是什么破坏了输出?这个问题(对我来说)似乎不太相似,因为他的问题是不同的。我怀疑另一个模块有干扰-部分原因是其他图像工作正常,部分原因是我只使用了
numpy
matplotlib
。我将尝试生成一个最小的示例。接下来的五张图片,使用使用使用
minux,minuy
的脚本,我没有更多的问题。