您可以在调用后设置轴twinx
的位置,使用之前初始设置的位置数据twinx
。
有几种方法可以做到这一点。
import matplotlib.pyplot as plt
# Create original plot
plt.plot()
ax = plt.gca()
ax.set_position([1/3,1/3,1/3,1/3])
# Make twin axes.
ax2 = ax.twinx()
ax2.set_position(ax.get_position())
plt.show()
或者,您可以执行ax.set_position(ax.get_position())
. 但是一个关键点是将原始 Axes 记录到一个变量中,因为gca
一旦你调用它就指向新的 Axes (位置错误)twinx
。
如果您不想将轴存储在变量中,则可以将轴位置存储在变量中。
import matplotlib.pyplot as plt
# Create original plot
plt.plot()
plt.gca().set_position([1/3, 1/3, 1/3, 1/3])
# Make twin axes
pos = plt.gca().get_position()
plt.gca().twinx()
plt.gca().set_position(pos)
plt.show()
不需要丢弃之前设置的位置。