Change the color of each bar in the Bar graph of 3 arrays
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I am getting a bar graph like this with one color.
I need same color for the first element of each array.. My code is like this
encomb=[4 3 2 1;5 4 3 2; 6 5 4 3 ];
figure(12)
hold on
bb=bar(encomb(:))
xlabel('type of consumer')
ylabel('energy consumed kWh/month')
title('Energy consumed for different case studies')
hold off
0 个评论
采纳的回答
Scott MacKenzie
2021-4-25
Try this, but with your own colors in clr:
clr = rand(12,3);
encomb=[4 3 2 1;5 4 3 2; 6 5 4 3 ];
figure(12)
hold on
bb=bar(encomb(:), 'facecolor', 'flat');
bb.CData = clr;
xlabel('type of consumer')
ylabel('energy consumed kWh/month')
title('Energy consumed for different case studies')
hold off
Output:
0 个评论
更多回答(1 个)
NETHRAVATHI S
2021-4-25
1 个评论
Scott MacKenzie
2021-4-25
Perhaps I misunderstood your original question. The issue maybe that you "ungrouped" the data by passing encomb(:) into the bar function. If you pass in encomb instead, the data are treated as groups, one group per row. You'll get different colors for each bar within a group, but the same color for bar positions between groups:
encomb=[4 3 2 1;5 4 3 2; 6 5 4 3 ];
figure(12)
hold on
bb=bar(encomb, 'facecolor', 'flat'); % NOTE: encomb, not encomb(:)
xlabel('type of consumer')
ylabel('energy consumed kWh/month')
title('Energy consumed for different case studies')
hold off
Here, you are getting MATLAB's default colors for a bar chart with grouped data. Is this what you want?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Exploration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!