【问题标题】:Overlapping axes in GUI when plotting boxplot in MATLAB在 MATLAB 中绘制箱线图时 GUI 中的重叠轴
【发布时间】:2013-02-28 16:03:13
【问题描述】:

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

为了复现这个问题,使用GUIDE创建一个.fig文件,包含两个轴:axes1axes2,如图:。

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

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

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

如您所见,两个轴重叠。我尝试更改箱线图的属性,但没有成功。

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

【问题讨论】:

    标签: matlab matlab-guide boxplot axes


    【解决方案1】:

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

    干杯, 朱塞佩

    【讨论】:

    • 谢谢。它没有解释为什么 boxplot 会改变我的坐标轴位置,但它可以工作,所以我想这就足够了 :)
    • boxplot 是一个复杂的高级命令(超过 4000 行代码!)。尽管我通常不喜欢这种解决方法,但在这种情况下,我会尝试看看是否会出现其他问题。干杯
    猜你喜欢
    • 2015-06-10
    • 2012-07-18
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多