Question about labels under each boxplot.
62 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear all, I need to put labels under each boxplot. To do this, I'm using: boxplot([dados(:,1),dados(:,2)],'labels',{'bf\it{IDEB}_2_0_0_7'},{'\bfEfficiencies'}) Unfortunately, I don´t have sucess. Can someone help me? Best regards. Marcus Vinicius
0 Kommentare
Antworten (7)
Jiro Doke
am 26 Feb. 2012
When you say you don't have success, I assume you're saying that the labels aren't being rendered with the bold/italics/subscript formatting.
Try this:
dados = rand(100,2);
boxplot(dados,'labels',{'\bf\it{IDEB}_2_0_0_7','\bf Efficiencies'})
h = findobj(gca, 'type', 'text');
set(h, 'Interpreter', 'tex');
1 Kommentar
Tom Cook
am 21 Apr. 2019
Hi, I kinda have the same problem. And your solution jiro does not work for me (MATLAB R2017a)!
Why? How can I make it work?
Why is there no proper handle for the boxplot function like for any other plot function?!
Oleg Komarov
am 26 Feb. 2012
dados = rand(100,2)
boxplot(dados,'labels',{'\bf\it{IDEB}_2_0_0_7','\bf Efficiencies'})
0 Kommentare
Chathurika
am 29 Aug. 2013
set boxplot labels bold and font size of 16...
boxplot(X,'labels',{'a','b','c'})
set(findobj(gca,'Type','text'),'FontSize',16,'fontweight','bold')
0 Kommentare
Tyler
am 26 Feb. 2015
This page helped solve my issues using boxplots. I will list out all the tweaks I wanted done to my boxplot in case it helps anyone else.
I found all the editable properties using:
get(gca)
h = findobj(gca, 'type', 'text');
get(h(1))
and so on.
Here is an example of my tweaks:
data = rand(100,1); %random data
% a label for each data point
labels = repmat({'group2','group3','group1','group3'}',25,1);
Label_size = 15;
%used grouporder to arange the order of the boxes
%the labels option let you rename the labels (from group1 to G1)
boxplot(data,labels,'grouporder',{'group1','group2','group3'},'label',{'G1','G2','G3'})
xlabel('Labels','FontSize',Label_size,'FontWeight','bold')
ylabel('Data','FontSize',Label_size,'FontWeight','bold')
title('Nice Boxplot','FontSize',Label_size,'FontWeight','bold')
h = findobj(gca, 'type', 'text');
% this alters Yticklabels [0 to 1]
set(gca,'FontSize',Label_size);
set(gca,'FontWeight','bold')
% this alters the group labels: G1, G2, G3
set(h,'FontSize',Label_size);
set(h,'Interpreter','tex');
set(h,'FontWeight','bold')
% this moves the groups labels and the Xlabel down to avoid overlap
for j=1:length(h)
set(h(j),'Position',get(h(j),'Position')+[0 -5 0]);
end
h2 = get(gca, 'XLabel');
set(h2,'Position',get(h2,'Position')+[0 -8 0]);
You can change almost anything about any of the text this way, just look up the text properties you want to change, for more information see: text-properties.
0 Kommentare
Ankita
am 8 Feb. 2023
data = rand(100,1); %random data
% a label for each data point
labels = repmat({'group2','group3','group1','group3'}',25,1);
Label_size = 15;
%used grouporder to arange the order of the boxes
%the labels option let you rename the labels (from group1 to G1)
boxplot(data,labels,'grouporder',{'group1','group2','group3'},'label',{'G1','G2','G3'})
xlabel('Labels','FontSize',Label_size,'FontWeight','bold')
ylabel('Data','FontSize',Label_size,'FontWeight','bold')
title('Nice Boxplot','FontSize',Label_size,'FontWeight','bold')
h = findobj(gca, 'type', 'text');
% this alters Yticklabels [0 to 1]
set(gca,'FontSize',Label_size);
set(gca,'FontWeight','bold')
% this alters the group labels: G1, G2, G3
set(h,'FontSize',Label_size);
set(h,'Interpreter','tex');
set(h,'FontWeight','bold')
% this moves the groups labels and the Xlabel down to avoid overlap
for j=1:length(h)
set(h(j),'Position',get(h(j),'Position')+[0 -5 0]);
end
h2 = get(gca, 'XLabel');
set(h2,'Position',get(h2,'Position')+[0 -8 0]);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Axis Labels finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!