如何填满箱子的箱线图与不同的颜色吗
821(30天)
显示旧的评论
你好,我想阴谋箱线图与每个单独的盒子颜色,我遇到这些组代码从这个链接:https://groups.google.com/forum/ !主题/ comp.soft-sys.matlab JFi976iIuZE然而,通过这个链接,现在所有盒子都用黄色阴影。相比之下,我感兴趣的每个箱子变得充满了不同的颜色,例如蓝色、红色和灰色。任何方式,如何实现呢?谢谢,
答案(3)
埃米尔哈姆萨
2020年4月5日
编辑:埃米尔哈姆萨
2020年5月12日
后由Poulomi链接的方法,这样你可以得到不同的颜色
data =兰德(100 4);
x = 1:4;
颜色=兰德(4,3);
箱线图(数据,x);
h = findobj (gca),“标签”,“盒子”);
为j = 1:长度(h)
补丁(get (h (j),“XData”),得到(h (j),“YData”)、颜色(j,:),“FaceAlpha”5);
结束
如果您使用的是R2020a,然后使用下面的代码,这是健壮的比上面的版本
data =兰德(100 4);
x = 1:4;
颜色=兰德(4,3);
图();
ax =轴();
持有(ax);
为i = 1:4
boxchart (x(我)*的(大小(数据(:,i))),数据(:,我)“BoxFaceColor”颜色(我:))
结束
3评论
J选
2023年2月8日
编辑:J选
2023年2月8日
恢复这个线程与另一个着色方法生成的箱子的箱线图。米而不是boxchart。米,
“传统”
“PlotStyle”
(与
“大纲”“BoxStyle”
)。我用R2021b。
解决方案是有点出租汽车司机,你可能需要投入一些麻烦,它适应您的应用程序。所有您需要做的改变是探索点属性的图处理。我打开图中属性检查器和输入点索引命令在命令窗口,直到我发现箱线图的属性。
我开始这个线程和基于我需要适应:
https://stackoverflow.com/questions/29155899/matlab-multipleparallel-box-plots-in-single-figure。
这不是一个健壮的解决方案,但它可以让你在正确的方向上。
组= 6;样品= 24;
dataType1 =兰迪(2样品组);% 24 x6只是一些随机数据
dataType2 =兰迪(4样品组);%如6组24样品,3条/组
dataType3 =兰迪(6样品组);
group_labels = {“20”,“30”,“40”,“60”,“80”,“100”};%轴标签
% MATLAB黄色,蓝色,红色
颜色= {(0.9290 0.6940 0.1250)[0 0.4470 - 0.7410][0.6350 0.0780 0.1840]};
GroupedData = {dataType1 dataType2 dataType3};
% legendEntries = {data1的' data2’‘data3};%如果你想要一个传奇
直接从stackoverflow %复制线程
N =元素个数(GroupedData);
δ= linspace (。3。3, N);% / /定义补偿区分情节
宽度= 2;% / /小宽度,以避免重叠
无花果=图;持有在;
为i = 1: N
标签= group_labels;
箱线图(GroupedData {},“颜色”,颜色我{},“boxstyle”,“大纲”,…
“位置”(1:元素个数(标签))+δ(我),“宽度”、宽度、“标签”、标签);
% / /情节盒子装满了指定位置,宽度,标签
%的线(箱)数组元素在图轴> >组>。
%需要改变指数在最后定格()根据您的数据
盒= fig.Children.Children (1, 1)。孩子(聪明);
为j = 1:长度(盒)%画一个彩色的补丁在每一个酒吧
补丁(盒(j)。XData,盒子(j)。YData,颜色我{},“FaceAlpha”5,“EdgeAlpha”,0.3);
结束
%的阴谋(南1颜色,颜色我{});% / /虚拟情节的传说(如果你想要一个传说)
结束
网格在;
执行:
运行(突出并按F9)
> > fig.Children.Children(1,1)定格
和定位说的条目
线(盒)
。这些是你应该替换上面的例子所示的聪明的指标。这可能是一个非常简单的方法适用于任意的数据集,但我只是想立刻分享这种方法。