我正在处理一个 3D double,我想逐片可视化。
为此,我尝试绘制热图,然后添加一个滑块来选择第三维的索引。
但是,我收到以下错误:
DummyObject
重现我的问题的最小示例:
Error using uislider (line XX) HeatmapChart cannot be a parent.
实际上是否有在热图上使用滑块的方法/解决方法? 谢谢!
答案 0 :(得分:2)
有。但我认为您不能为此使用 uislider。试试:
h = heatmap(img(:,:,1));
uicontrol('Style','slider');
这个滑块有类似的功能,但看起来不太好。您仍然可以定义 Min、Max、Color 等,并实现回调函数。
最后它可能看起来像:
h = heatmap(img(:,:,1));
uicontrol('Style','slider','Value',1,'Min',1,'Max',size(img,3),...
'SliderStep',[0.5 0.5],'CallBack',{@SlideThroughSlices,img})
function SlideThroughSlices(slider,~,img)
heatmap(img(:,:,slider.Value));
end
假设img
的第三维尺寸为3,否则需要调整Min、Max和SliderStep。