我在使用 pyplot 出色的绘图功能时遇到了一些困难。我选择了我自己的颜色图
n = 6
map = matplotlib.cm.get_cmap('Dark2')
cmap = colors.ListedColormap([(0,0,0,0)] + [[map(i * 1.0 / n)[j] for j in range(3)] + [0.2] for i in range(1, n + 1)])
这基本上只是 Dark2 颜色图,离散化为 n 个(在我的例子中是 6 个)值,零值映射到纯白色。然而,主要区别在于我的自定义颜色图的 alpha
值设置为 0.2
,而不是默认的 1
。
问题是当我用它来绘制一些东西时,比如
plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv)
结果是这样的:
这看起来不错,但您可以清楚地看到每个框周围都有一个与框颜色相同但 alpha
设置为 1
.
编辑:正如评论中所建议的,这些边界的原因可能是框之间的重叠。
有没有办法清理它?
最佳答案
同时,作为一个小的变通方法,我发现您可以通过弄乱 edgecolor
和 linewidth
属性来使图像更接近您想要的图像。例如,对 pcolormesh
使用以下输入:
plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv, edgecolor=(1.0, 1.0, 1.0, 0.3), linewidth=0.0015625)
输出如下图:
关于python - 当 alpha 不是 1 时,Pyplot pcolormesh 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20678817/