首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Matlab中改变直方图条形图的颜色

在Matlab中改变直方图条形图的颜色
EN

Stack Overflow用户
提问于 2014-09-22 06:59:27
回答 2查看 2.7K关注 0票数 0

我试图打印一个直方图,但我需要所有的数值是大于一个特定的值(例如,250)是橙色的。

产出如下:

我需要这样的东西:

如果有任何帮助,这就是代码:

代码语言:javascript
运行
复制
    fh = figure;
    hist(PZ);
    saveas(fh, strcat('Figures\window), 'jpg')
    close(fh);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-22 07:15:01

其中一种方法是使用bar绘制数据,但在本例中,您仅限于它提供的颜色,即:'b' | 'r' | 'g' | 'c' | 'm' | 'y' | 'k' | 'w'。下面是这样做的示例代码:

代码语言:javascript
运行
复制
%// Generate data
data = randn(2000,1);
bins = -5:5;
[N,X] = hist(data,bins);
%% //Color by count
LIMIT_VAL = 500;
figure();
bar(X,N,'b');hold on;
bar(X,N.*(N<LIMIT_VAL),'r'); hold off;
%% //Color by bin position
LIMIT_VAL = 2;
figure();
bar(X,N,'b');hold on;
bar(X(abs(X)>=LIMIT_VAL),N(abs(X)>=LIMIT_VAL),'r'); hold off;

另一种方法是修改补丁颜色,就像@lakesh提到的那样。

票数 1
EN

Stack Overflow用户

发布于 2014-09-22 07:11:45

我会将数据分成两个大于250个的groups.Values和小于250个的值。都是绝对值。

那么,您能不能用这个代码将直方图的颜色设置为不同?

代码语言:javascript
运行
复制
hist(data1);
hold on;
hist(data2);
h = findobj(gca,’Type’,’patch’);
display(h) 
set(h(1),’FaceColor’,’b’,’EdgeColor’,’k’);
set(h(2),’FaceColor’,rgb('orange'),’EdgeColor’,’k’);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25968249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档