Python-Matplotlib,打印常量字段

Python-Matplotlib,打印常量字段,python,matplotlib,field,Python,Matplotlib,Field,我想画一个恒定场,但它不是很漂亮。。。 它的值是零,我想要一个介于-1和1之间的颜色条! 我试着这样做: import numpy as np import numpy.ma as ma import matplotlib.pyplot as plt from matplotlib import cm plt.rcParams['text.usetex']=True plt.rcParams['text.latex.unicode']=True Lx=80. Ly=120. x0 = 30.

我想画一个恒定场,但它不是很漂亮。。。 它的值是零,我想要一个介于-1和1之间的颜色条! 我试着这样做:

import numpy as np
import numpy.ma as ma
import matplotlib.pyplot as plt
from matplotlib import cm

plt.rcParams['text.usetex']=True
plt.rcParams['text.latex.unicode']=True

Lx=80.
Ly=120.
x0 = 30.
y0 = Ly/2.

YA, XA = np.mgrid[0:Ly, 0:Lx]

Order0 = 0*np.ones((YA.shape[0], YA.shape[1]))

plt.imshow(Order0,aspect='auto',cmap=plt.cm.hot,origin="lower")
plt.colorbar()
plt.show()


fig, ax = plt.subplots()
cax = ax.imshow(Order0, interpolation='nearest', cmap=cm.hot)
ax.set_title(r"\ test",fontsize=20)
plt.axis('off')

cbar = fig.colorbar(cax, ticks=[-1, -0.5, 0, 0.5, 1])
cbar.ax.set_yticklabels(['-1', '-0.5', '0','0.5' ' 1'])# vertically oriented colorbar
plt.show()


为了尊重其他结果,我希望得到这样的图像:

我怀疑您想更改行:

plt.imshow(Order0,aspect='auto',cmap=plt.cm.hot,origin="lower")
要添加vmin和vmax,请执行以下操作:

plt.imshow(Order0,aspect='auto',cmap=plt.cm.hot,origin="lower", vmin=-1, vmax=1)
给予:


我知道绘制一个常量字段很特别,但它是为了显示一系列顺序的结果…;)谢谢,这是我想要的。但是为了尊重我作品的“框架”,我想删除axis的网格,所以我加上:“plt.axis('off')”,我想尊重同一个颜色条,它只给出1,0.5,0.,-0.5和-1,我尝试使用“cbar=fig.colorbar(cax,ticks=[-1,-0.5,0.5,1])cbar.ax set_yticklabels(['-1',-0.5',0',0.5',1'])”但在这种情况下不起作用:/i添加一个图像以查看我所说的内容通知您有两个绘图,因此您有两个plt.show()。在第一个之前,您没有添加plt.axis(“关闭”)或cbar线。。。如果在将问题添加到第一个绘图时仍发现错误,则可以更新问题以包含此附加备注,并放置更新的代码,以便我们可以更仔细地查看。