Histogram function plots different colours from those requested
    조회 수: 46 (최근 30일)
  
       이전 댓글 표시
    
I"m trying to color-code each of 4 histograms using a predefined color scheme. Here's a minimal working example:
colours = [0 32 96;
    192 0 0;
    71 207 255;
    255 143 143;
    ] / 255;
for i=1:4
    x = randn(1,100);
    subplot(1,4, i)
    values = histogram(x,   'FaceColor', colours (i, :));
end
However, in the image I'm getting, the colors are actually (slightly) different, for instance for the first histogram I get (102,121,160) instead of (0,32,96):

댓글 수: 0
채택된 답변
  Steven Lord
    
      
 2022년 3월 28일
        The histogram object has a FaceAlpha property, so that if you overlay two histogram objects you can see the one underneath. If you change that FaceAlpha property the color appears slightly different and may be closer to what you want.
x = randn(1, 100);
figure
h = histogram(x, 'FaceColor', 'r');
title("Histograph with FaceAlpha " + h.FaceAlpha)
figure
h = histogram(x, 'FaceColor', 'r', 'FaceAlpha', 1);
title("Histograph with FaceAlpha " + h.FaceAlpha)
추가 답변 (1개)
  Scott MacKenzie
      
 2022년 3월 28일
        
      편집: Scott MacKenzie
      
 2022년 3월 28일
  
      The histogram function uses a face alpha of 0.6 by default. That's why the colors appear a bit lighter than the values from your eye dropper app.  If you set the face alpha to 1.0 (see below), then the displayed colors will agree with the eye dropper values. 
colours = [0 32 96;
    192 0 0;
    71 207 255;
    255 143 143;
    ] / 255;
for i=1:4
    x = randn(1,100);
    subplot(2,4, i)
    values = histogram(x,'FaceColor', colours(i, :));
    values.FaceAlpha = 1.0; % NOTE: default is 0.6
    values.FaceColor * 255
end
댓글 수: 3
  Scott MacKenzie
      
 2022년 3월 28일
				
      편집: Scott MacKenzie
      
 2022년 3월 28일
  
			@z8080, hmm, right your are.  I dug a bit deeper and discovered why there is a discrepancy between the set colors and the eye dropper colors.  See my modified answer for the details.  
참고 항목
카테고리
				Help Center 및 File Exchange에서 Data Distribution Plots에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





