首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >去除轮廓周围的白色痕迹

去除轮廓周围的白色痕迹
EN

Stack Overflow用户
提问于 2017-01-06 15:39:29
回答 2查看 540关注 0票数 3

我试着用Python制作一个彩色地图,除了这个小麻烦之外,我什么都有,这让地图看起来很糟糕。

代码很简单。我只是使用了一个矩阵的价值,并绘制他们使用三圈。我是在我的土地上循环收集和改变边缘颜色和线宽。

我注意到以下几点。如果我想在每一条轮廓周围都有一条细白线,那么我就需要。

代码语言:javascript
运行
复制
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或颜色设置为“none”。我将在下面的代码中同时执行这两个操作。我们有

代码语言:javascript
运行
复制
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()

并获取

好点了,但你还能看到轮廓的模糊轮廓吗?这是,而不是,它只是颜色图上的一个变化--这显然是一条通过每个轮廓线的非常亮的线。

有没有办法把彩色地图混在一起,这样就不会发生这种情况?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-09-24 15:01:39

当您以pdf格式保存图片时,问题将变得更加明显。随着等高线数量的增加,图像被平滑,但是pdf仍然存在问题。

例如:

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
from numpy.random import uniform
x = uniform(-2,2,200)
y = uniform(-2,2,200)
z = x*np.exp(-x**2-y**2)
plt.tricontourf(x,y,z, 300, cmap="seismic", antialiased=False)
plt.colorbar()
plt.savefig('stackoverflow/tricontourf.pdf')
plt.savefig('stackoverflow/tricontourf.png', dpi=300)

但是在每个轮廓线上运行的非常轻的线仍然可以在pdf中看到。

部分解决方案是使用tricontour而不是tricontourf,并使用一些linewidths选项:

代码语言:javascript
运行
复制
import numpy as np
import matplotlib.pyplot as plt
from numpy.random import uniform
#Some Data
x = uniform(-2,2,200)
y = uniform(-2,2,200)
z = x*np.exp(-x**2-y**2)

plt.tricontour(x,y,z, 300, cmap="seismic", antialiased=False, linewidths=5)
plt.colorbar()  

plt.savefig('stackoverflow/tricontour.pdf')
plt.savefig('stackoverflow/tricontour.png', dpi=300)

tricontourf不支持此选项。

票数 0
EN

Stack Overflow用户

发布于 2022-09-08 19:29:42

你可以用在你的三巡回演出中使用的相同的颜色图来重叠一个三周图。这样就能有效地去除白色的痕迹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41509011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档