我基本上有三组测量,我试图生成一个带有4个Box的BoxPlot。每个组一个框,最后一个框加入所有组。
我尝试过这段代码
A = rand(1417725,1)
B = rand(2236508,1)
C = rand(3100641,1)
D = [A;B;C]
X= [A;B;C;D]
group = [repmat({'a'},1417725,1); repmat({'b'},2236508,1); repmat({'c'},3100641,1); repmat({'d'},6754874,1)];
boxplot(X,group)
但最后我得到“内存不足”,我无法得到情节。
你有什么想法解决这个问题吗?
谢谢!
答案 0 :(得分:0)
不是创建一个庞大的(在内存方面)字符串的单元格数组,而是创建一个更小的数组,例如int8整数:
group = [ones(size(A),'int8');2*ones(size(B),'int8');3*ones(size(C),'int8');4*ones(size(D),'int8')];
然后,在绘图后,将绘图中的标签更改为所需的名称:
set(gca, 'XTick', 1:4, 'XTickLabel', {'a','b','c','d'});
也许你有足够的记忆力来这样做..