我想在Matlab中在图像图的顶部绘制线条图
首先我绘制图像数据
figure(1); clf;
imagesc(t); colorbar
hold on;
axis tight
然后是线图
line(ysum,y,'Color','red')
hold off;
但是,线条图会删除图像并将背景设置为白色。 如何在图像上方绘制图像?
答案 0 :(得分:1)
您的代码没有错,但是由于您尚未定义t, y, ysum
,因此它不是可重复的最小示例。当您调用imagesc(t)
时,行和列将是t
的索引。换句话说,它与调用imagesc([1, size(t,2)], [1, size(t,1)], t)
相同。如果t
很小(例如10 x 10),但是y,ysum
的元素很大(例如> 1000),则10 x 10的图像仍会存在,但会被挤压到角落。几乎不可见。
因此,您需要确保y, ysum, t
的范围对齐。快速解决方法:
xidx = [min(ysum), max(ysum)];
yidx = [min(y), max(y)];
imagesc(xidx, yidx, t);