2

使用boxplot统计工具箱中的命令时,坐标区属性会以一种奇怪的方式发生变化。例如,一个得到

 
    XTick = []
    XTickLabel =
    XTickLabelMode = 手动
    XTickMode = 手动

轴发生了什么,如何重命名标签和/或删除一些刻度?

4

3 回答 3

5

尝试boxplot使用可选labels参数调用。


编辑- 有关boxplot实际操作的更多信息。

boxplot做了一些复杂的事情 - 输入edit boxplot查看代码,你会发现它是一个非常长而复杂的函数。基本上,它会创建一个没有轴标签的空白轴,这就是为什么您会看到空值XTick等的原因。然后它将箱线图元素从单独的行中提取出来,并通过添加文本元素来模拟假轴标签。您可以找到它们并通过绘制成图形直接修改它们f,然后获取Childrenof f,然后遍历以获取它们的Children. 最终,您会发现带有标签名称的文本元素。

于 2013-06-06T13:50:12.650 回答
3

尝试这个:

xtix = {'A','B','C'};   % Your labels
xtixloc = [1 2 3];      % Your label locations

set(gca,'XTickMode','auto','XTickLabel',xtix,'XTick',xtixloc);

由于某些原因,将 XTickMode 重置为 auto 似乎是关键。

于 2013-07-18T03:55:04.363 回答
0

谢谢你,山姆·罗伯茨,这很有帮助。

我根据此建议编写了以下内容以删除组标签。但是,它会删除所有标签,包括轴和数据提示。似乎没有办法删除轴上的标签,但将其保留在数据提示上。

m = get(get(get(figH,'Children'),'Children'),'Children');
for ii = 1:numel(m)
    if(strcmp(get(m(ii),'Type'),'text'))
        set(m(ii),'String', '');
    end
end

变量 figH 是图形的句柄。如果箱线图是活动图形句柄,您也可以尝试 gcf。

于 2014-07-03T00:21:57.710 回答