plt.tricontour看起来很奇怪?

时间:2017-04-27 17:58:59

标签: python matplotlib

我有3个变量向量,x,y和z。我想看看z如何根据x和y变化。由于我有1D列表,我使用plt.tricontour绘制图形:

plt.tricontour(x, y,z, 1000, linewidths=0.5,cmap=cm.coolwarm)
plt.colorbar()
plt.show()

我真的很困惑图表右下角发生了什么?我不知道为什么我没有得到渐变的颜色,就像我在左上角那样,而是得到这些线条。如果有人有任何想法,我将不胜感激!

由于

enter image description here

1 个答案:

答案 0 :(得分:1)

tricontour应该绘制线条。所以你在右下角看到的是预期的。左上角看起来很意外。原因是线条的清晰度非常高,以至于你不会将它们视为线条而是作为填充区域。

根据您的预期结果,您可以

  • 使用tricontourf代替tricontour
  • 少用水平
  • 使用不等间隔的水平,即较低数据值的水平高于较高值的水平;这可以通过向tricontourtricontourf提供数组或列表作为第四个参数来完成。