渲染为pdf时,Matplotlib不显示阴影线

Jos*_*del 8 python matplotlib

我试图在matplotlib中使用阴影线功能,它在显示到屏幕时工作正常.但是,当我将图形保存为pdf格式时,不会渲染阴影线标记:

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,2*np.pi,100)

plt.figure()
plt.fill(x,np.sin(x),color='blue',alpha=0.5,hatch='/')
plt.show()
plt.savefig('./test.pdf',format='pdf')
Run Code Online (Sandbox Code Playgroud)

我在OS X 10.6.6上的pylab中使用matplotlib 1.0.1.这可能是与后端渲染器有关的平台特定问题,但我不确定.任何建议都将非常感激.

Dav*_*yon 10

TL;DR:用于alpha=.99在以 PDF 格式导出时渲染影线

快2020年了,使用plt.bar(). 在 PNG 中渲染时,一切都被正确渲染。但是,PDF 导出在渲染影线时会出现故障。舱口不可见,放大/缩小时有时可见(有时在不同计算机上测试时不可见),尚不清楚错误来自何处。

我们意识到它与alpha选项相关联。使用 时alpha=.5,颜色以及影线(50% 可见)的可见度为 50%。很好的一步,我们几乎可以看到舱口。因此,让我们尝试一下,alpha=.99让一切都几乎 100% 可见。

有用!万岁!

在我们的解决方法中,不需要像以前的答案那样重复行。保持颜色选项不变,只需设置alpha=.99


Jou*_*nen 5

看起来像个bug.请在github问题跟踪器中提交.

与此同时,这是一个解决方法:

plt.fill(x,np.sin(x),color='blue',alpha=0.5)
plt.fill(x,np.sin(x),color='None',alpha=0.5,edgecolor='blue',hatch='/')
Run Code Online (Sandbox Code Playgroud)