我試圖繪製圖像中不同顏色像素的頻率。我可以在三個單獨的圖上繪製三個單獨的直方圖,但我想在同一個圖上繪製它們,紅色表示紅色,綠色表示綠色等。從我可以從此網站和其他網站上的答案中可以看出的以下內容應該工作,但它不會,只有第二個出現。我究竟做錯了什麼?三個直方圖,三種不同的顏色,一個圖形:matlab
hold on;
x = 0:1:255;
figure ('name', 'red') ;
red = (newImg(:,:,1));
r = red(:)';
r = cast(r,'double');
[graph1,graph2] = hist (r,x);
bar(graph2,graph1, 'FaceColor', 'r','EdgeColor','r')
alpha(0.3);
green = (newImg(:,:,2));
g = green(:)';
g = cast(g,'double');
[graph1,graph2] = hist (g,x);
bar(graph2,graph1, 'FaceColor', 'b','EdgeColor','b')
hold off;