与不同的colormaps覆盖两个图像在次要情节

52视图(30天)
迪迪埃
迪迪埃 2021年9月8日
回答: 沃斯 2021年12月18日
你好,
我想要覆盖一个图像(颜色)及其梯度(灰色)在一个次要情节。我试图遵循响应这个问题: 叠加显示亮度图像轮廓在次要情节和不同的颜色
下面的代码是没有情节:im1及形象,im2梯度。然而,当我使用一个次要情节,colormap灰色用于第二图像也应用于第一形象。这似乎是有关im2轴的定义,但我找不到它应该是什么。你能帮我吗?
最好的,
迪迪埃
Z =峰(101);
[dZdx, dZdz] =梯度(Z);
gradZ = abs (dZdx。^ 2 + dZdz。^ 2);
% %没有次要情节,它的工作原理
图()
%绘制第一个数据
ax₁=轴;
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
ax2 =轴;
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
% %隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});
% %次要情节,colormap灰色也应用到第一个图像“im1”
无花果= clf ()
h =情节(211);
%绘制第一个数据
ax₁= h;
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;这个值变化百分比改变背景图片的透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
ax2 = h;
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
% %隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});

答案(1)

沃斯
沃斯 2021年12月18日
这是因为当你没有次要情节,你两个图像在两个单独的轴,但当你使用次要情节,两个图像进入相同的轴。
你的代码与数据:
Z =峰(101);
[dZdx, dZdz] =梯度(Z);
gradZ = abs (dZdx。^ 2 + dZdz。^ 2);
% %没有次要情节,它的工作原理
图()
%绘制第一个数据
ax₁=轴;
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
ax2 =轴;
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
% %隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});
% %次要情节,colormap灰色也应用到第一个图像“im1”
无花果= clf ()
无花果=
(1)性质:数量:1名称:“颜色:(1 1 1)位置:(671 661 577 433)单位:“像素”所有属性
h =情节(211);
%绘制第一个数据
ax₁= h;
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;这个值变化百分比改变背景图片的透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
ax2 = h;
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
% %隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});
修改代码与数据(注意使用 copyobj 得到两个相同的轴与次要情节部分):
Z =峰(101);
[dZdx, dZdz] =梯度(Z);
gradZ = abs (dZdx。^ 2 + dZdz。^ 2);
%没有次要情节,它的工作原理
图()
%绘制第一个数据
ax₁=轴;
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
ax2 =轴;
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
%隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});
%的次要情节,colormap灰色也应用到第一个图像“im1”
%无花果= clf ()
f =图();
h =情节(211);
%绘制第一个数据
ax₁= h;
ax2 = copyobj (ax₁, f);%复制ax₁里面有任何东西之前,用于im2
im1 =显示亮度图像(ax₁, Z);
im1。AlphaData = 1;这个值变化百分比改变背景图片的透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
colormap (ax₁, jet)
%画第二个数据
% ax2 = h;
% h =次要情节(211);
im2 =显示亮度图像(ax2 gradZ);
im2。AlphaData = gradZ / max (max (gradZ));这个值变化百分比改变前景图像透明度
平等的;
持有所有;
集(gca),“YDir”,“正常”)
%连接轴
%隐藏顶部轴
ax2。可见=“关闭”;
ax2。XTick = [];
ax2。YTick = [];
colormap (ax2,灰色)
ax2。用户数据= linkprop ((ax₁, ax2),
{“位置”,“InnerPosition”,“DataAspectRatio”,“xtick”,“ytick”,
“ydir”,“xdir”,“xlim”,“ylim”});
可能还有其他东西,但这是关键,我认为。

类别

找到更多的在红色的帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!