我正在使用
pcolormesh
绘制图表:
fig, ax = plt.subplots()
ax.pcolormesh(Omega_re, Omega_im, brightness, cmap="gray", shading="gouraud")
ax.set_xlabel(r"$Re(\omega)$")
ax.set_ylabel(r"$Im(\omega)$")
ax.set_aspect(1)
fig.show()
哪里
Omega_re = array([[2. , 2.75, 3.5 , 4.25, 5. ], [2. , 2.75, 3.5 , 4.25, 5. ],
[2. , 2.75, 3.5 , 4.25, 5. ], [2. , 2.75, 3.5 , 4.25, 5. ],
[2. , 2.75, 3.5 , 4.25, 5. ]])
Omega_im = array([[0. , 0. , 0. , 0. , 0. ], [0.0005, 0.0005, 0.0005, 0.0005, 0.0005],
[0.001 , 0.001 , 0.001 , 0.001 , 0.001 ], [0.0015, 0.0015, 0.0015, 0.0015, 0.0015],
[0.002 , 0.002 , 0.002 , 0.002 , 0.002 ]])
brightness = array([[4.05649772, 3.7299948 , 2.61262439, 4.2841897 , 3.40368949],
[4.05649076, 3.72997624, 2.61258381, 4.2841071 , 3.40353591],
[4.05648399, 3.72995772, 2.61254052, 4.28402084, 3.40338229],
[4.05647716, 3.72993901, 2.6124984 , 4.28393373, 3.40322865],
[4.05647025, 3.72992049, 2.61245428, 4.2838476 , 3.40307499]])
但是由于 x 轴的范围是 0 到 5,y 轴的范围是 0 到 0.002,所以结果显得“扁平化”。:
有没有办法重新调整 y 轴的比例,使图表在视觉上看起来更好?下面是当前显示方式的图片。
更换
ax.set_aspect(1)
与
ax.set_aspect("auto")
或者干脆完全删除该线。
set_aspect(1)
(或等效的set_aspect("equal")
)强制轴对 x 和 y 使用相同的缩放比例。使用 set_aspect("auto")
(默认)允许 matplotlib 推断出良好的缩放比例来填充绘图。
由于
ax.set_aspect(1)
,轴是“平的”,它将轴的纵横比设置为相等。换句话说,1 英寸(例如)在两个轴上的长度相同。如果删除该行,您将获得自动生成的宽高比,该宽高比将显示更多细节。