2

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

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 生成了这个结果

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

4

0 回答 0