我使用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轴,使图形看起来更好?下面是它当前显示方式的图片。
2条答案
按热度按时间jmp7cifd1#
取代
与
或者简单地完全移除线。
set_aspect(1)
(或等效的set_aspect("equal")
)强制轴对x和y使用相同的缩放比例。使用set_aspect("auto")
(默认值)允许matplotlib推断出一个良好的缩放比例来填充图。结果
aiazj4mn2#
由于
ax.set_aspect(1)
将轴的纵横比设置为相等,因此轴是“平的”。换句话说,1英寸(例如)在两个轴上是相同的长度。如果你删除这条线,那么你会得到一个自动生成的长宽比,将显示更多的细节。