【发布时间】:2017-05-21 09:52:44
【问题描述】:
我正在尝试用 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()
得到
现在显然我们看到这个并说,轮廓周围的白线看起来很糟糕,让我们摆脱它们。您可以通过多种方式执行此操作,可能通过将 linewidth=0 或颜色设置为“无”。我将在以下代码中同时执行这两项操作。我们有
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()
得到
更好,但你还能看到轮廓的微弱轮廓吗?这不只是颜色图的颜色变化 - 这显然是一条穿过每个轮廓的非常轻的线。
有没有办法以某种方式混合颜色图,以免发生这种情况?谢谢。
【问题讨论】:
-
我使用 plt.contourf 作为轮廓,并在需要时使用 plt.contour 创建线条...我不熟悉 tricontourf...
标签: python python-2.7 matplotlib contour