Matplotlib辅助轴具有相等的纵横比

时间:2016-08-17 15:50:14

标签: python matplotlib

我正在尝试使用twinx()为具有相同宽高比的轴创建辅助轴,但是,如下例所示,辅助轴与原始的纵横比不匹配。

是否需要做一些额外的事情,或者这是matplotlib中的一个错误?

代码:

from matplotlib import pyplot as plt

fig = plt.figure()
ax1 = fig.add_subplot(111, adjustable='box-forced', aspect='equal')
ax2 = ax1.twinx()
plt.show()

输出数字:

matplotlib output

1 个答案:

答案 0 :(得分:0)

host_subplot寄生轴而不是fig.add_subplot上创建from matplotlib import pyplot as plt from mpl_toolkits.axes_grid1 import host_subplot fig = plt.figure() ax1 = host_subplot(111, adjustable='box-forced', aspect='equal') ax2 = ax1.twinx() plt.show() 主机轴似乎可以解决问题。这些图现在占据相同的空间并具有相同的宽高比。

SubplotHost

通过使用from PyQt5 import QtWidgets from matplotlib.figure import Figure from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from mpl_toolkits.axes_grid1.parasite_axes import SubplotHost app = QtWidgets.QApplication([]) fig = Figure() ax1 = SubplotHost(fig, 111, adjustable='box-forced', aspect='equal') ax2 = ax1.twinx() fig.add_subplot(ax1) canvas = FigureCanvas(fig) canvas.show() app.exec_()

创建主轴,我能够在实际程序中使用面向对象的API实现与上述相同的功能
{{1}}