当alpha不是1时,Pyplot pcolormesh会混淆

 xinlang138438 发布于 2023-02-09 11:43

我对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.

编辑:正如评论中所建议的那样,这些边框的原因可能是框之间的重叠.

有没有办法清理它?

1 个回答
  • 在此期间,作为一个小的解决方法,我发现你可以通过弄乱edgecolorlinewidth属性来使图像更接近你想要的.例如,使用以下输入pcolormesh:

        plt.pcolormesh(np.random.rand(10,10), cmap = cmapInv, edgecolor=(1.0, 1.0, 1.0, 0.3), linewidth=0.0015625)
    

    输出以下图像:

    在此输入图像描述

    2023-02-09 11:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有