我对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)])

这基本上就是黑2颜色映射,离散到n(在我的例子中是6)值,零值映射到纯白色。但是,主要的区别在于,我的自定义颜色映射的alpha值设置为0.2,而不是默认的1
问题是,当我用这个绘制一些东西时,比如
plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv)

结果是这样的:
这看起来很不错,但您可以清楚地看到,每个框周围都有一个非常薄的边框,与框的颜色相同,但将alpha设置为1
编辑:正如注释中所建议的,这些边框的原因可能是框之间重叠。
有没有办法清理这个?

最佳答案

同时,作为一个小的解决方法,我发现通过处理edgecolorlinewidth属性,您可以使图像更接近您想要的图像。例如,使用以下输入来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/

10-10 19:18