我有一些振荡数据,我想在其中添加一条特定的等高线。例如,数据多次通过某个值,我想选择该值的一个特定示例,用等高线突出显示。例如,考虑一个贝塞尔函数。下面,我用一个级别0.2绘制等高线。我想选择只显示外等高线,但是,而不是其他内部的。
from scipy.special import jv
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-20,20,num=500)
y = np.linspace(-20,20,num=500)
[X,Y] = np.meshgrid(x,y)
Z = jv(1,np.sqrt(X**2.+Y**2.))
fig = plt.figure()
ax = fig.add_subplot(111)
cb = ax.pcolormesh(X,Y,Z)
ax.contour(X,Y,Z,[.2],linestyles='dashed')
cbar = fig.colorbar(cb)
plt.show()
如果有帮助的话,这是我的实际数据图(用于创建的代码太长,无法包含在这里)。我只想绘制最外面的紫色轮廓:
谢谢你
1条答案
按热度按时间gcmastyq1#
让我们看看你喜欢这个;)...我以不可见的方式绘制所有轮廓线,但提取轮廓对象并重新绘制第一个轮廓线(我只是通过反复试验才得出的结果,在您的情况下可能会有所不同)。