Matplotlib savefig pdf不显示一些多边形

时间:2016-04-08 08:33:37

标签: python matplotlib

我做了一个相对简单的情节似乎工作得很好。我有许多线段,每个都定义一个区域。我使用plot.Polygonax.add_patch在填充区域使用多边形。

当我保存到.png时,一切正常。所以,我转向pdf作为最终图像。我手动设置fontsizefigsizedpi等内容,因此应该没有问题。

可悲的是,当前图片中的四个Polygons中有2个未显示在pdf中。这很奇怪;前两个图像(其他数据集)确实正常运行。我在zorder上使用alphaPolygons玩了一下但是无济于事。

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

衷心的感谢, Daimonie

1 个答案:

答案 0 :(得分:0)

好的,所以我发现了这个问题。

让我们首先表示我用来添加多边形的方法,仅为了清楚起见。定义顶点的点$(x,y)$称为vertices。多边形为:

first_polygon = plt.Polygon(vertices, zorder=.1, facecolor=colours[colour_index], alpha=fill_opacity)

接下来,我将其添加到图中:

ax.add_patch(first_polygon)

那么为什么它没有显示一些多边形呢?我不能确定原因,但是当我重新定义多边形时,问题就解决了。没有显示的两个多边形由三条线绑定。第一个多边形由y0, y1, y2和'框架'绑定。这个数字。因为我还在缩放这个数字,所以我已经把这个点限制在了框架的范围内。作为$(100,-100)$。当我将其更改为$(min_x,min_y)$时,它突然显示正常。