gpt4 book ai didi

matlab - 在 clustergram 中以编程方式打开颜色条

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:47 26 4
gpt4 key购买 nike

我知道可以通过单击 clustergram GUI 中的颜色条图标来插入颜色条。有没有办法以编程方式进行?我试过了

cgo = clustergram(data)
colorbar;

这会在新的图形窗口中创建一个颜色条。如何在 clustergram 图形中正确定位创建颜色条,就像单击按钮一样?

最佳答案

隐藏了一个函数 (HeatMap.plot>showColorbar),可以将 colorbar 整齐地放置在热图和树状图(线)的左侧.只是运行 colorbar(...) 会弄乱树状图和热图的相对定位。因此,您需要以某种方式运行回调或仔细复制所有位置计算。只运行回调更容易。方法如下。

要以编程方式为 clustergram 创建 colorbar并保持颜色条按钮同步,您需要使用按钮的分配回调并设置按钮的状态。

创建clustergram:

load filteredyeastdata
cgo = clustergram(yeastvalues(1:30,:),'Standardize','Row');

获取颜色栏按钮的句柄:

cbButton = findall(gcf,'tag','HMInsertColorbar');

获取按钮的回调(ClickedCallback):

ccb = get(cbButton,'ClickedCallback')
ccb =
@insertColorbarCB
[1x1 clustergram]

这为我们提供了回调分配的函数句柄 (@insertColorbarCB),以及函数的第三个输入参数(clustergram 对象)。按钮的句柄和一个空的事件对象是隐含的前两个参数。

将按钮状态更改为'on'(按下):

set(cbButton,'State','on')

运行回调以创建颜色条:

ccb{1}(cbButton,[],ccb{2})

请注意,按钮 State 必须更改为 'on' first,否则回调不会执行任何操作。

关于matlab - 在 clustergram 中以编程方式打开颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com