Question about labels under each boxplot.
    17 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposte (7)
  Jiro Doke
    
 il 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 Commento
  Tom Cook
 il 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
      
      
 il 26 Feb 2012
        dados = rand(100,2)
boxplot(dados,'labels',{'\bf\it{IDEB}_2_0_0_7','\bf Efficiencies'})
0 Commenti
  Chathurika
 il 29 Ago 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 Commenti
  Tyler
 il 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 Commenti
  Ankita
 il 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 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!