imagesc() contour superposition
5 次查看(过去 30 天)
显示 更早的评论
Hi,
I am trying to plot a contour plot over an imagesc() plot.
I have the following code:
figure,
subplot(1,3,1);
xVal = 5;
[xSlVal,xSlice] = min(abs(xVal - xGrid2(1,:,1)));
norm_jet_xVeloc = velocityMag(:,xSlice,:)./max(max(max(velocityMag)));
veloc_mag_conotur = velocityMag(:,xSlice,:)./u;
imagesc(squeeze(zGrid2(:,1,1)),squeeze(yGrid2(1,1,:)),squeeze(norm_jet_xVeloc));
hold on
C = contour(squeeze(zGrid2(:,1,11)),squeeze(yGrid2(1,1,:)),squeeze(veloc_mag_conotur));
caxis([-0.5 0.5]);
colormap('gray');
set(gca,'YDir','normal');
pbaspect([6 40 1]);
xlim([ -3 3]);
ylim([ 0 40]);
xlabel('z (mm)');
ylabel('y (mm)');
I think that it is working however I can't see the contour lines over the imagesc() magnitude plot. Is there another way to plot contour for a different color?
Thanks for your help.
1 个评论
采纳的回答
Subhadeep Koley
2019-10-29
It is difficult to provide exact solution without the exact data but the following is a demo code which superimposes a contour() plot over an imagesc() plot while assigning different colormaps to each of them.
% Plot first data
ax1 = axes;
imagesc(ax1,imread('cameraman.tif'));
axis square; hold all;
% Plot second data
ax2 = axes;
contour(ax2,imread('cameraman.tif'));
axis square; hold off;
% Only to reverse the y axis,
set(ax2,'ydir','reverse')
% Link axes
linkaxes([ax1,ax2])
% Hide the top axes
ax2.Visible = 'off';
ax2.XTick = [];
ax2.YTick = [];
% Add differenct colormap to different data if you wish
colormap(ax1,'gray'); % Colormap for the imagesc plot
colormap(ax2,'hsv'); % Colormap for the contour plot
![contourOverImagesc.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/245366/contourOverImagesc.png)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!