如何用matlab画直方图

如何用matlab画直方图,第1张

matlab中,绘制二维直方图的函数是bar,绘制三维直方图的函数是bar3,以下分别列出其用法:

调用格式:bar(x,y,选项) ,其中,x,y是维数相同的矩阵或者向量,配对的x,y按对应的列元素为横纵坐标绘制,选项是一些绘图控制选项,可选;

例如,绘制y=2exp(-0.5x)的条形图

bar3(x,y)或者bar3(y),前者在x指定的位置上绘制y中元素的条形图,后者y的每一个元素对应于一个条形。

或者在

matlab下边输入

help

imhist

edit

histeq

%%%灰度图象的直方图数据%%%

clc

clear

fn='rice.tif'

i=imread

(fn)

j=i

%计算灰度图象的直方图数据

l=256

%灰度级

ps

=

zeros(l,1)

%统计直方图结果数据

nk=zeros(l,1)

[row,col]=size(i)

n=row*col

%总像素个数

for

i

=

1:row

for

j

=

1:col

num

=

double(i(i,j))+1

%获取像素点灰度级

nk(num)

=

nk(num)+1

%统计nk

end

end

%计算直方图概率估计

for

i=1:l

ps(i)=nk(i)/n

end

figure

subplot(3,1,1)imshow(j),title('原图')

subplot(3,1,2),plot(nk),title('直方图(nk)')

subplot(3,1,3),plot(ps),title('直方图(ps)')

%figure(4),imhist(hist)

%p=imhist(hist)

%生成直方图函数,返回灰度图象直方图数据

%figure(5),plot(p)

我觉得有两种方法,

一种是调节条形的宽度。估计是'barwidth'

另一种我们可以调节XTick的数值,比如原来是1、2、3、4。我们设置成1、3、5、7.这样间隔就变宽了。然后在用XTickLabel命名一下X轴就可以了。

不知道怎么样,这是我的设想


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/11182885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存