Matplotlib中的透明markerfacecolor

时间:2013-07-18 14:41:35

标签: python matplotlib

我想使用Matplotlib绘制一组标记(一次一个),这些标记具有半透明面颜色和不透明(alpha = 1)边缘颜色。通过使用适当的rgba值(如this答案中建议的那样)在plot命令中设置每个值,这似乎是直截了当的,但它不起作用 示例代码(从原始帖子更新以更好地说明问题):

N = 48
xys = np.random.rand(N,2)
markers = []
fig = plt.figure()
ax = fig.add_subplot(111)
for i in range(N):
    m = ax.plot(
        xys[i,0], xys[i,1],
        linestyle='None', marker='o', markersize=20,
        markeredgewidth=4, markeredgecolor=(0, 0, 0, 1.0),
        markerfacecolor=(1, 0, 0.2, 0.1),
    )[0]
ax.grid()
ax.set_axisbelow(True)
fig.savefig('scratch_fig.png', dpi=300)

这给了我这个情节:http://imgur.com/pcCQlSV

正如您所看到的,边缘是正确的,纯黑色。但是,当您查看彼此重叠的标记和网格时,您可以看到它们不是半透明的。

我在Windows 7和Ubuntu上使用Matplotlib 1.2.1生成了这个结果

有没有人知道如何解决这个问题,而不创建两组重叠标记?

0 个答案:

没有答案