Python 在半对数子地块上设置纵横比

Python 在半对数子地块上设置纵横比,python,matplotlib,Python,Matplotlib,我正试图产生一个数字,共有12个子地块。x轴为对数轴,y轴为线性轴。如何将每个的纵横比设置为1 plt.subplot(6, 2, 4) plt.plot(H2SO3,h_km, label='H$_2$SO$_3$') plt.xscale('log') plt.xlim(10**-16) plt.legend() plt.subplot(6, 2, 11) plt.plot(H2S,h_km, label='H$_2$S') plt.xscale('log') plt.xlim(10**-

我正试图产生一个数字,共有12个子地块。x轴为对数轴,y轴为线性轴。如何将每个的纵横比设置为1

plt.subplot(6, 2, 4)
plt.plot(H2SO3,h_km, label='H$_2$SO$_3$')
plt.xscale('log')
plt.xlim(10**-16)
plt.legend()

plt.subplot(6, 2, 11)
plt.plot(H2S,h_km, label='H$_2$S')
plt.xscale('log')
plt.xlim(10**-16)


plt.savefig('heelp.png')
plt.show()

我只找到了loglog或linearlinear绘图的解决方案,因此非常感谢您的帮助,谢谢

您需要在对数刻度上设置或获得两个极限,然后使用这些极限的比值的log10来获得对数轴的“长度”,该长度与线性刻度上的简单差相似,然后进一步获得两个长度的比值

ax = plt.subplot(6, 2, 4)
ax.plot(H2SO3,h_km, label='H$_2$SO$_3$')
plt.xscale('log')
plt.xlim(10**-18,10**-16)
plt.ylim(5,15) # for eg
plt.legend()
ax.set_aspect( np.log10(10**-16/10**-18) / (15-5) )

这回答了你的问题吗@如果它真的存在,那么我不完全确定如何应用它,使它对我有效,对不起。如果你能帮我,我将不胜感激