在matlab里,如何将两张灰度图的直方图在一张figure上显示?如下图

横坐标代表灰度值,纵坐标代表图像中不同灰度值的个数,深灰色是一幅图像的灰度值,浅灰色是另一幅图像的,请问这样的图像如何得到?

第1个回答  2020-12-25

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

第2个回答  2013-05-13
plot();
hold on
plot()追问

我使用的是imhist()函数,如何输出I1、I2两幅灰度图像的直方图在一张图像里呢?

第3个回答  2013-05-13
使用subplot命令。

函数功能
MATLAB中的函数subplot
使用方法:subplot(m,n,p)或者subplot(m n p)。
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。
在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。

简单的例子
把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,基本步骤:
subplot(221); % 2、2、1之间没有空格也可以
在第一块绘图
subplot(222)
在第二块绘图
subplot(223)
在第三块绘图
subplot(224)
在第四块绘图

示例1:
在MATLAB的命令窗口依次输入以下命令:(>>不用输入)
>> t=0:0.001:1;
>> y1=sin(10*t);
>> y2=sin(15*t);
>> subplot(211)
>> plot(t,y1)
>> subplot(212)
>> plot(t,y2)

运行结果见右图。也可以将上述命令写成一个程序段:
function subplot_sample1()
close all
figure
grid on
t=0:0.001:1;
y1=sin(10*t);
y2=sin(15*t);
subplot(211)
plot(t,y1)
subplot(212)
plot(t,y2)追问

我觉得这样运行的结果是一张大图里面有两个小图,但两个图还是相互独立的,不是我问题中提到的那种叠加的样子。

追答

画完一幅图用hold on语句后再画下一幅,就叠加起来了。

本回答被提问者和网友采纳
相似回答