4

我正在使用 GUIDE 在 MATLAB 中创建一个 GUI。我有几个轴,其中一个我想画一个箱线图。我的问题是,绘制箱线图后,轴的大小发生了变化,并且与我的其他一些图形重叠。

要复制此问题,请.fig使用GUIDE包含两个轴的文件创建一个文件:axes1axes2,如图所示:具有两个轴的 .fig 示例

然后,在 中OpeningFcn,添加以下行:

Z = normrnd(1,3,[100,1]);
plot(handles.axes1, Z);
boxplot(handles.axes2,Z)

然后启动 GUI。我看到以下内容:

启动程序时的 GUI

如您所见,两个轴重叠。我试过改变箱线图的属性,但没有运气。

我使用 MATLAB 7.10 (R2010a) 和 Kubuntu 12.10。

4

1 回答 1

7

似乎boxplot使轴变宽,不知道为什么。无论如何,在绘图之前保存轴位置并在之后立即重置它似乎对我有用:

Z = normrnd(1,3,[100,1]);
plot(handles.axes1, Z);
pos = get(handles.axes2, 'position');
boxplot(handles.axes2,Z);
set(handles.axes2, 'position', pos);

干杯,朱塞佩

于 2013-03-02T22:17:06.567 回答