我正在尝试使用matplotlib绘制以下内容。我有一个等高线图,但我想用给定的属性改变每个等级的强度。比方说,你有一个轮廓图,并且还有一个矢量也分配给每个点,如果矢量指向上,我想绘制一种颜色的轮廓线,如果矢量指向下,我想绘制不同的颜色。可能吗?提前谢谢!
答案 0 :(得分:0)
这是一个几乎无法运行的伪代码,但这个数字并没有那么好......我确实清理了这部分代码,让我把它放在这里..
给定x,y定义网格点,z定义3D数据的网格
我创建轮廓图
cont = plt.contour(x, y, z, linewidths=0.7, colors='k', linestyles='solid')
现在让我假设我在一个网格中也有一个属性,我叫gx
paths = cont.collections[0].get_paths()
verts = [xx.vertices for xx in paths]
pts = np.concatenate(verts)
plt.scatter(pts[::6,0],pts[::6,1],s=100,edgecolor='none',alpha=1.0,c=gx[::6], marker="s")
谢谢!