如何更改boxplot
中的轴和线宽的字体大小? boxplot
是否返回类似于plot
函数的句柄?
我尝试了以下内容:
figure
[ax h1 h2] = boxplot(x,y1,x,y2)
set(ax,'FontSize',14)
但它不起作用。
答案 0 :(得分:2)
使用轴的FontSize
属性和LineWidth
的{{1}}属性分别更改轴的字体大小和方框图的线宽。
一个例子:
boxplot
答案 1 :(得分:1)
Sardar's answer是快速而简短的方法。我将添加它,如果你只想改变你应该写的框:
set(bh(5),'LineWidth',2);
但是,它可能有一些限制,所以这里有一个更深入的方法来控制你的箱线图。
boxplot
具有与其他绘图不同的行为,因为它创建了一组线而不是一个带有句柄的图形对象。因此,有时您只能在创建时操纵其部分(例如,设置'BoxStyle'
和'Colors'
属性)。
如果要在创建后更改它,或者要控制未在函数输入中定义的属性,则需要调用boxplot组的句柄。这完成了:
bx = findobj('Tag','boxplot');
现在你可以操纵所有类型的东西,特别是盒子的LineWidth
。以下是bx
包含的内容:
>> bx.Children
ans =
7x1 Line array:
Line (Outliers)
Line (Median)
Line (Box)
Line (Lower Adjacent Value)
Line (Upper Adjacent Value)
Line (Lower Whisker)
Line (Upper Whisker)
您可以看到boxplot的每个部分都是一个不同的图形元素(所有这些元素的类型为' Line')。如果您只想更改框的属性,请写下:
set(bx.Children(3),'LineWidth',3)
或更多属:
set(findobj(bx,'Tag','Box'),'LineWidth',3)
如果你只有一个箱形图你可以写:
set(findobj('Tag','Box'),'LineWidth',3)
甚至没有定义bx
。
这将导致(使用carsmall
样本数据):
如果你想操纵所有的箱线图,你会写:
set(bx.Children,'LineWidth',3)
并获得以下结果:
更改轴的字体大小要简单得多,可以通过直接设置(如果这是活动轴)来完成:
set(gca,'FontSize',14);