我正在尝试使用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()
输出数字:
答案 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_()
{{1}}