Change bar graph color by sign
10 次查看(过去 30 天)
显示 更早的评论
I have a 502x2 column matrix made up of B = [datenum, data]. There are positive nad negative data values, and I want to make all of the positive values red and all of the negative values blue, similar to the figure midway down this page: https://niwa.co.nz/climate/information-and-resources/southern-annular-mode
My code so far is just:
bar(B(:,1), B(:,2))
Is there a straightforward way to do this?
Thank you!
0 个评论
采纳的回答
Karthik Ravishankar
2020-11-10
bar(B(B(:,2)>=0,1), B(B(:,2)>=0,2),'FaceColor','b')
hold on
bar(B(B(:,2)<0,1), B(B(:,2)<0,2),'FaceColor','r')
更多回答(1 个)
David Hill
2020-11-10
x=B(:,1)';
y=B(:,1)';
b=bar(x,y,'r');
b.FaceColor='Flat';
b.CData(y<0,:)=repmat([0 0 1],nnz(y<0),1);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!