- I called categorical with (x,x) to ensure the categories are plotted in the same order that they were specified (otherwise bar will place them in alphabetical order).
- You'll need to specify FaceColor as 'flat' to make bar use CData
- I used validatecolor to convert the colors to an RGB matrix
Colours of a Histogram
    20 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Brian O'Connell
 am 27 Mär. 2022
  
    
    
    
    
    Kommentiert: Brian O'Connell
 am 27 Mär. 2022
            Hi,
I have a histogram with 7 categories, that I created using the code...
data = sum(prod2020)
x = ["Fossil" "Biomass" "Geothermal" "Hydro" "Solar" "Wind" "Other" ];
C = categorical(x);
y = [data];
h = histogram('Categories', C, 'BinCounts', y);
I would like to colour the bars separate colours.
mycolour = ['red' 'cyan' 'black' 'blue' 'yellow' 'green''magenta'];
I don't seem to be able to add this into my command in any way.
any ideas?
thanks
b
0 Kommentare
Akzeptierte Antwort
  Dave B
    
 am 27 Mär. 2022
        
      Bearbeitet: Dave B
    
 am 27 Mär. 2022
  
      If you're specifying the counts, could you use bar instead of histogram? bar has a CData property for this purpose. The limits will appear slightly different but other than that it's pretty similar.
Notes: 
x = ["Fossil" "Biomass" "Geothermal" "Hydro" "Solar" "Wind" "Other" ];
C = categorical(x,x);
y = sum(rand(7));
nexttile;
h = histogram("Categories", C, "BinCounts", y);
nexttile
clrs=validatecolor(["red" "cyan" "black" "blue" "yellow" "green" "magenta"],'multiple');
b = bar(C,y,'FaceColor','flat','CData',clrs,'BarWidth',.9);
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Histograms 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!


