如何在一个窗口里同时显示两个直方图
我在写论文做结论比较的时候遇到了这样一个问题:我有两个存为txt的数据文件,需要让他们在同一个窗口内显示为直方图以进行比较,特别是重叠部分最好能看的出来,我试了多久都做不出来,请各位高手帮忙,谢谢!想要达到的效果如附件所示。
只需要各位告诉我关键函数或命令即可,谢谢! 你的txt 文件里面的数据是什么样的?1行n列?n行1列?
先用 load 读取文件,然后直接用 plot 就可以了应该。
具体有问题再提出来
回复 楼主 darkness211 的帖子
先画一个,hold on,再画一个。更改alpha值调节透明度回复 沙发 hanihaoma & 板凳 ydlcsu 的帖子
直方图用的命令是hist啊 hist似乎不能用hold on命令的还有 那个ALPHA值在哪更改
我的数据是两个1024X1024的矩阵 我想显示一下他们取值范围的不同
[ 本帖最后由 ChaChing 于 2009-3-25 11:11 编辑 ]
回复 地板 darkness211 的帖子
不要说什么似乎,自己亲自试过再说,1分钟的事就知道行不行了。alpha怎么设置自己去看hist和patch的帮助。不要指望别人把什么都给你做好
[ 本帖最后由 ydlcsu 于 2009-3-25 12:39 编辑 ]
回复 7楼 ydlcsu 的帖子
那你说我这么长时间是在搞什么 我就是实在弄不出来才会上来问啊 我是可以在可以在一个图里画两个直方图,就是hist加hold on。你那里为什么不行我也不知道,因为你只会说你那里不行,而没有提供其他任何信息。[ 本帖最后由 ydlcsu 于 2009-3-25 11:45 编辑 ]
回复 7楼 ydlcsu 的帖子
我画出来的图是这样的 不透明 无法显示重叠部分而且可能是由于数据量太大的关系 画图时非常卡 占用内存非常大
以下是用到的代码
pattern_noise=load('reference_m=1_t=9.txt');
pattern_noise2=load(reference1.txt');
x=-2.0:0.02:2.0;
hist(pattern_noise,x);
hold on;
hist(pattern_noise2,x); 唉,说了要你仔细看hist的帮助了,你再仔细理解下红色的部分的意思吧
n = hist(Y) bins the elements in vector Y into 10 equally spaced containers and returns the number of elements in each container as a row vector. If Y is an m-by-p matrix, hist treats the columns of Y as vectors and returns a 10-by-p matrix n. Each column of n contains the results for the corresponding column of Y
hist(pattern_noise(:),x);
hold on;
hist(pattern_noise2(:),x);
h = findobj(gca,'Type','patch');
set(h,'FaceAlpha',0.5)
[ 本帖最后由 ydlcsu 于 2009-3-25 12:38 编辑 ]
回复 9楼 ydlcsu 的帖子
真的非常感谢你 因为英文比较差 没有完全看明白英文帮助的意思 谢谢 个人英文也很差, 看慢点也可, 况且还可试!(matlab优点之一)ydlcsu的说法也是希望LZ可学习更多! 别介意
调节透明度的功能旧版没有(v5.6), v6.5後就有了, 所以之前从没用过
说来惭愧, 昨天也不只花1分钟看帮助文献, 最後还是直接试ydlcsu的答案才知道的
谢谢ydlcsu
回复 11楼 ChaChing 的帖子
嗯 谢谢前辈指点
页:
[1]