我想绘制一些数据的等高线图,但可能所有值都相同。这会导致matplotlib出现错误,因为实际上并没有等高线需要创建。例如,如果您运行下面的代码,您将会得到一个错误,但删除
如果数据是均匀的,我该如何绘制“等高线”图呢?我希望它看起来像普通的等高线图(有一个填充了某种颜色的框,并在侧边显示一个颜色条。颜色条可以是均匀的颜色,或者仍然显示15种颜色的范围,我不在乎)。
代码:
zi
的第二个定义,它就会按预期运行。如果数据是均匀的,我该如何绘制“等高线”图呢?我希望它看起来像普通的等高线图(有一个填充了某种颜色的框,并在侧边显示一个颜色条。颜色条可以是均匀的颜色,或者仍然显示15种颜色的范围,我不在乎)。
代码:
from numpy import array
import matplotlib.pyplot as plt
xi = array([0., 0.5, 1.0])
yi = array([0., 0.5, 1.0])
zi = array([[0., 1.0, 2.0],
[0., 1.0, 2.0],
[0., 1.0, 2.0]])
zi = array([[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0]])
CS = plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
CS = plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()