首先, 我不知道你这个是否有现成的包.如果假设没有现成包的话,就得自己画了。首先你得要分别会画circos图,然后也会画聚类的图.
以下是我的预计:
先聚类, 你这应该是层次聚类
r的hclust里面有merge, height, order, 这几个属性
利用order排好序
计算需要的角度
利用circos的半径和merge里面的信息height给出的高度计算出中间各条线的长度(转换成基于圆心的半径唱),合并后的角度和长度,这样,根据半径长和角度计算出横纵坐标。
就可以画出来了。
我个人画过circos和聚类的图, 但是没有画过结合在一起的。所以这其中有不足还请包涵。
其次, 给予一些相关材料:
层次聚类的图你只需要搞懂r中hclust给出的结果就可以画了merge:matrix, 2列, 第i行的1、2列代表第i步合并的主体(正数k代表是第k步合并的结果, 负数j代表是你元数据中第-j个样本)
height:高度, 类似于每个note(交叉点)离最底层的长度
order:基于层次聚类后画聚类图时候样本的顺序
circos的话最基本每个circle的画法在这个pdf中