我正在尝试用Python制作一个色彩图,除了这个让人觉得很糟糕的小麻烦之外,我还有其他一切 .

代码很简单 . 我只是使用值矩阵并使用tricontourf绘制它们 . 我是在我的情节中循环收集并改变边缘颜色和线宽 .

我注意到的是以下内容 . 说我想要在每个轮廓周围都有一条细白线,然后我就这样做了 .

CS = plt.tricontourf(X,Y,Z, 70, cmap=cm.seismic, antialiased=True)
print CS.collections

for c in CS.collections:
    c.set_edgecolor('white')
    c.set_linewidth(1)

plt.colorbar()  
plt.show()

得到

enter image description here

现在显然我们看看这个并说,好吧,轮廓周围的白线看起来很糟糕,让我们摆脱它们 . 您可以通过多种方式执行此操作,可能将linewidth = 0或颜色设置为“none” . 我将在以下代码中执行这两项操作 . 我们有

CS = plt.tricontourf(X,Y,Z, 70, cmap=cm.seismic, antialiased=True)
print CS.collections

for c in CS.collections:
    c.set_edgecolor('none')
    c.set_linewidth(0)

plt.colorbar()  
plt.show()

得到

enter image description here

更好,但是你还能看到轮廓的微弱轮廓吗?这只是色彩图中颜色的变化 - 这显然是穿过每个轮廓的非常轻的线条 .

有没有办法以某种方式混合色图,以便不会发生这种情况?谢谢 .