轴的大小相同,如果其中一个轴的set_aspectratio为"等于"

时间:2014-10-31 00:05:58

标签: python matplotlib aspect-ratio

想象一下以下简单的情况:

import numpy as np
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(np.arange(10))
ax1.set_aspect("equal")

ax2.plot(np.arange(10), np.arange(0, 1, .1))

plt.show()

Example Figure

什么是最好/最简单的解决方案,以便ax2具有与ax1相同的宽度/高度,无论ax2的方位是什么?

1 个答案:

答案 0 :(得分:1)

对于您的具体情况,您可以将ax2的宽高比设置为10,例如:* / p>

import numpy as np
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot(np.arange(10))
ax1.set_aspect("equal")

ax2.plot(np.arange(10), np.arange(0, 1, .1))

# Determining the ranges
x1,x2 = ax2.get_xlim()
y1,y2 = ax2.get_ylim()
xRange = x2-x1
yRange = y2-y1

ax2.set_aspect(xRange/yRange)

plt.show()

enter image description here

干杯