如何更改matplotlib饼大小以保持与其他绘图窗口对齐

vwhgwdsa  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(214)

我创建了3个子图,两条线和一个饼,
我发现这些图有不同的高度,饼是正方形的,为什么线窗口不是,我怎么能对齐所有的轴呢?见下图
enter image description here

Init:
    self.ui.figure, self.ui.axes = plt.subplots(1, 3)
    self.ui.canvas = FigureCanvas(self.ui.figure)
    self.ui.QVLayout.addWidget(self.ui.canvas)

    Draw:
    axes1 = self.ui.axes[0]
    axes2 = self.ui.axes[1]
    axes3 = self.ui.axes[2]

    self.ui.axes[0].cla()
    self.ui.axes[1].cla()
    self.ui.axes[2].cla()

    color = self.ui.cmbBoxColorSelect.currentText()

    xl = np.arange(0, 1.1, 0.1, dtype=np.float64)
    x = np.arange(0, 4, dtype=np.float64)
    y = np.arange(0, 4, dtype=np.float64)
    #Plot1
    ...

    axes1.set_title('Saturation', fontsize=10, pad=1)
    axes1.plot(xl, xl, '-k', linewidth=1.0)
    self.line_sat = axes1.plot(x, y, '-bs', linewidth=1.0)[0]

    #Plot2
    ...

    axes2.set_title('Luma', fontsize=10, pad=1)
    axes2.plot(xl * 125, xl * 125, '-k', linewidth=1.0)
    self.line_luma = axes2.plot(x, y, '-bs', linewidth=1.0)[0]

    #Pie
    ...

    axes3.pie(
        value, radius=1, labels=label,startangle=red_angle,
        autopct='', frame=True, colors=colors, labeldistance=1.0)

    self.ui.figure.tight_layout()
    self.ui.canvas.draw()
    self.ui.canvas.flush_events()

我想保持所有轴的高度相同

uqcuzwp8

uqcuzwp81#

尝试将shareey设置为True作为第三个参数

self.ui.figure, self.ui.axes = plt.subplots(1, 3, sharey=True)

相关问题