我想在MATLAB中的clustergram上绘制网格线,但不知道该怎么做。
问题是,它甚至不写文字:
cgo = clustergram(rand(30,50), 'Standardize', 'Column');
set(0,'ShowHiddenHandles','on')
gca
hold on
text(3,4,'abcde')
编辑:我实际上并不是在尝试编写文本,而是在clustergram的热图上绘制网格线。由于(据我所知)没有这样做的直接功能,我计划手动绘制水平和垂直线。
答案 0 :(得分:1)
您可以使用uistack
http://www.mathworks.com/help/matlab/ref/uistack.html更改图表中元素的z排序。
cgo = clustergram(rand(30,50), 'Standardize', 'Column');
set(0,'ShowHiddenHandles','on')
gca
hold on
t=text(3,4,'abcde','color','w')
uistack(t)
我编辑了代码,将文本颜色更改为白色,以便于查看
答案 1 :(得分:0)
对我来说,上述建议的解决方案也不起作用(在R2016a,PC上),但以下是:
cgo = clustergram(rand(30,50), 'Standardize', 'Column');
foo = plot(cgo);
ht=text(3,4,'abcde','color','y','FontSize',20,'FontWeight','bold','parent',foo)
uistack(ht,'top')
hl = line([0,50],[0,30],'color','y','linewidth',3,'parent',foo)
uistack(hl,'top')