使用两个x轴时,如何保持绘图的纵横比?下面的代码可以很好地显示宽高比为25/111的图像。在
import numpy as np
import matplotlib.pyplot as plt
data = np.ones((25, 111))
specFig, specAx = plt.subplots()
specAx.set_xlim([0, data.shape[1]])
#newax = specAx.twiny()
#newax.set_xlim([0, data.shape[1]])
specAx.imshow(data, origin="lower")
plt.show()
然而,当取消注释这些线时,它将变成一个相当二次的图像,其第二个x轴显示的值是0到111,而第一个x轴只显示大约25个值的剪辑。在
奇怪的是,我不能用} ,对于您的情况是
axis('tight')
,axis('scaled')
,等等,specAx.set_aspect(aspect, adjustable='box')
,关闭autoscale
或任何东西,使轴看起来正确。我在matplotlib中也遇到过类似的双轴问题,作为一种解决方法,使用matplotlib的^{编辑:如果需要调整上轴,以前的解决方案可能不理想(上轴不是轴对象)。我已经成功地使用box forced关键字设置纵横比,如下所示:
^{pr2}$然后您应该能够调整刻度等
相关问题 更多 >
编程相关推荐