我正在使用GUIDE在MATLAB中创建一个GUI我有几根轴,我想在其中一根轴上画一个方块图我的问题是,在绘制箱线图之后,轴的大小会改变,并且它会与我的其他一些图形重叠。
要复制此问题,请使用包含两个轴的.fig创建GUIDE文件:axes1axes2,如图所示:。
然后,在OpeningFcn中添加以下行:

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

然后启动GUI我看到以下内容:
如您所见,两个轴重叠我试过改变方块图的属性,但没有成功。
我使用MATLAB 7.10(R2010a)和Kubuntu 12.10。

最佳答案

似乎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);

干杯,
朱塞佩

10-04 16:22