在MATLAB中绘制或写入一个簇图

时间:2016-02-19 06:57:26

标签: matlab

我想在MATLAB中的clustergram上绘制网格线,但不知道该怎么做。
问题是,它甚至不写文字:

cgo = clustergram(rand(30,50), 'Standardize', 'Column');
set(0,'ShowHiddenHandles','on')
gca
hold on
text(3,4,'abcde')

编辑:我实际上并不是在尝试编写文本,而是在clustergram的热图上绘制网格线。由于(据我所知)没有这样做的直接功能,我计划手动绘制水平和垂直线。

2 个答案:

答案 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')