标签: dendrogram

从seaborn clustermap中提取集群

我正在使用它seaborn clustermap创建集群,在视觉上它工作得很好(这个例子产生非常相似的结果).

但是,我无法弄清楚如何以编程方式提取集群.例如,在示例链接中,我怎么能发现1-1 rh,1-1 lh,5-1 rh,5-1 lh是一个很好的聚类?视觉上很容易.我正在尝试使用查看数据和树形图的方法,但我收效甚微

从示例编辑代码:

import pandas as pd
import seaborn as sns
sns.set(font="monospace")

df = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0)
used_networks = [1, 5, 6, 7, 8, 11, 12, 13, 16, 17]
used_columns = (df.columns.get_level_values("network")
                          .astype(int)
                          .isin(used_networks))
df = df.loc[:, used_columns]

network_pal = sns.cubehelix_palette(len(used_networks),
                                    light=.9, dark=.1, reverse=True,
                                    start=1, rot=-2)
network_lut = dict(zip(map(str, used_networks), network_pal))

networks = df.columns.get_level_values("network")
network_colors = pd.Series(networks).map(network_lut)

cmap = sns.diverging_palette(h_neg=210, h_pos=350, s=90, l=30, as_cmap=True)

result = sns.clustermap(df.corr(), …
Run Code Online (Sandbox Code Playgroud)

python cluster-analysis hierarchical-clustering dendrogram seaborn

19
推荐指数
2
解决办法
1万
查看次数

R中的水平树状图与标签

我试图从hclust函数输出中绘制树形图.我希望树形图是水平排列而不是默认值,可以通过(例如)获得

require(graphics)
hc <- hclust(dist(USArrests), "ave")
plot(hc)
Run Code Online (Sandbox Code Playgroud)

我尝试使用as.dendrogram()函数,plot(as.dendrogram(hc.poi),horiz=TRUE)但结果没有有意义的标签:

在此输入图像描述

如果我使用plot(hc.poi,labels=c(...))哪个没有as.dendrogram(),我可以传递labels=参数,但现在树形图是垂直的而不是水平的.有没有办法水平同时排列树形图并分配用户指定的标签?谢谢!

更新:作为USArrests数据集的一个例子,假设我想使用州名的前两个字母的缩写作为标签,这样我想以某种方式labs进入绘图功能:

labs = substr(rownames(USArrests),1,2)

这使

 [1] "Al" "Al" "Ar" "Ar" "Ca" "Co" "Co" "De" "Fl" "Ge" "Ha"
[12] "Id" "Il" "In" "Io" "Ka" "Ke" "Lo" "Ma" "Ma" "Ma" "Mi"
[23] "Mi" "Mi" "Mi" "Mo" "Ne" "Ne" "Ne" "Ne" "Ne" "Ne" "No"
[34] "No" "Oh" "Ok" "Or" "Pe" "Rh" "So" "So" "Te" "Te" "Ut"
[45] "Ve" "Vi" …
Run Code Online (Sandbox Code Playgroud)

r dendrogram hclust

18
推荐指数
2
解决办法
3万
查看次数

标签和颜色叶子树状图

我正在尝试创建一个树形图,我的样本有5个组代码(作为样本名称/种类/等,但重复).

因此,我有两个问题,帮助将是伟大的:

  • 如何在叶标签中显示组代码(而不是样本编号)?

  • 我希望为每个代码组分配一种颜色并根据它对叶子标签着色(可能会发生它们不在同一个分支中,我可以找到更多信息)?

是否可以使用我的脚本执行此操作(ape或ggdendro):

sample<-read.table("C:/.../DOutput.txt", header=F, sep="")
groupCodes <- sample[,1]
sample2<-sample[,2:100] 
d <- dist(sample2, method = "euclidean")  
fit <- hclust(d, method="ward")
plot(as.phylo(fit), type="fan") 
ggdendrogram(fit, theme_dendro=FALSE)  
Run Code Online (Sandbox Code Playgroud)

随机数据框替换我的read.table:

sample = data.frame(matrix(floor(abs(rnorm(20000)*100)),ncol=200))
groupCodes <- c(rep("A",25), rep("B",25), rep("C",25), rep("D",25)) # fixed error
sample2 <- data.frame(cbind(groupCodes), sample) 
Run Code Online (Sandbox Code Playgroud)

r dendrogram dendextend

17
推荐指数
2
解决办法
3万
查看次数

d3.js - 如何自动计算径向树形图中的弧长

我正在创建Mike Bostock的分层边缘捆绑图的修改版本:

http://mbostock.github.com/d3/talk/20111116/bundle.html

但我想制作跨越某些数据组的弧,如下所示:

在此输入图像描述

我目前只是硬编码弧的长度,但我想动态地做.我怎么能做到这一点?这是我目前的代码:

/* MH - USER DEFINED VARIABLES */
var chartConfig = { "Tension" : .85, "canvasSize" : 800, "dataFile" : "../data/projects.json", "linePadding" : 160, "textPadding" : 30, "arcPadding" : 5, "arcWidth" : 30 }
var pi = Math.PI;

var radius = chartConfig.canvasSize / 2,
    splines = [];

var cluster = d3.layout.cluster() //Cluster is the diagram style, a node to link dendrogram dendrogram (tree diagram)
    .size([360, radius - chartConfig.linePadding]); //MH - sets the size of the circle …
Run Code Online (Sandbox Code Playgroud)

javascript svg dendrogram d3.js bundle-layout

16
推荐指数
1
解决办法
9250
查看次数

如何将data.frame转换为树形结构对象,如树形图

我有一个data.frame对象.举个简单的例子:

> data.frame(x=c('A','A','B','B','B'), y=c('Ab','Ac','Ba', 'Ba','Bd'), z=c('Abb','Acc','Bad', 'Bae','Bdd'))
  x  y   z
1 A Ab Abb
2 A Ac Acc
3 B Ba Bad
4 B Ba Bae
5 B Bd Bdd
Run Code Online (Sandbox Code Playgroud)

实际数据中有更多的行和列.我怎么能像这样创建树状图的嵌套树结构对象:

         |---Ab---Abb
     A---|
     |   |---Ac---Acc
   --|                 /--Bad 
     |   |---Ba-------|
     B---|             \--Bae
         |---Bb---Bdd
Run Code Online (Sandbox Code Playgroud)

r dendrogram dataframe

15
推荐指数
1
解决办法
5668
查看次数

如何从目录树构建树形图?

给定根绝对目录路径.如何生成其下方所有路径的树状图对象,以便我可以使用R可视化目录树?

假设以下调用返回以下叶节点.

list.files(path, full.names = TRUE, recursive = TRUE)

root/a/some/file.R
root/a/another/file.R
root/a/another/cool/file.R
root/b/some/data.csv
root/b/more/data.csv
Run Code Online (Sandbox Code Playgroud)

我想在R中创建一个类似unix tree程序输出的图:

root
??? a
?   ??? another
?   ?   ??? cool
?   ?   ?   ??? file.R
?   ?   ??? file.R
?   ??? some
?       ??? file.R
??? b
    ??? more
    ?   ??? data.csv
    ??? some
        ??? data.csv
Run Code Online (Sandbox Code Playgroud)

如果解决方案涉及将文件系统树分解为两个,那将特别有用data.frame:

  1. 节点表(我可以使用其包含修改日期等属性)
  2. 和一个边缘表(也有属性)

然后从这两个data.frames 构建树形图对象.

r dendrogram

15
推荐指数
3
解决办法
2349
查看次数

Python中SciPy树形图的自定义簇颜色(link_color_func?)

我想用我用字典(即{leaf: color})形式制作的彩色地图为我的星团着色.

我试过跟随https://joernhees.de/blog/2015/08/26/scipy-hierarchical-clustering-and-dendrogram-tutorial/,但由于某种原因颜色搞砸了.默认情节看起来不错,我只是想以不同方式分配这些颜色.我看到有一个link_color_func,但当我尝试使用我的色彩图(D_leaf_color字典)时,我得到一个错误b/c它不是一个功能.我创建D_leaf_color了自定义与特定群集关联的叶子的颜色.在我的实际数据集中,颜色意味着什么,所以我正在转向任意颜色分配.

我不想color_threshold在我的实际数据中使用b/c,我有更多的簇并SciPy重复颜色,因此这个问题...

如何使用我的叶色字典来自定义树形图簇的颜色?

我做了一个GitHub问题https://github.com/scipy/scipy/issues/6346,在那里我进一步详细阐述了解释SciPy层次聚类树形图输出的叶子着色方法 (也许发现了一个错误...)但我仍然无法弄清楚如何实际:(i)使用树状图输出用我指定的颜色字典重建我的树形图或(ii)重新格式化我的D_leaf_color字典link_color_func参数.

# Init
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()

# Load data
from sklearn.datasets import load_diabetes

# Clustering
from scipy.cluster.hierarchy import dendrogram, fcluster, leaves_list
from scipy.spatial import distance
from fastcluster import linkage # You can use SciPy one too …
Run Code Online (Sandbox Code Playgroud)

python machine-learning hierarchical-clustering dendrogram scipy

15
推荐指数
2
解决办法
5600
查看次数

如何手动创建树形图(或"hclust")对象?(在R中)

我有一个树形图给我作为图像.由于它不是很大,我可以"手动"构建它到R对象中.

所以我的问题是如何手动创建一个树形图(或"hclust")对象,当我所有的是树形图像?

我看到有一个叫做"as.dendrogram"的函数但是我无法找到如何使用它的例子.

(PS:这篇文章是由以下我的问题在这里)

非常感谢,Tal

r cluster-analysis dendrogram

14
推荐指数
1
解决办法
1万
查看次数

由scipy-cluster生成的树形图没有显示

我正在使用scipy-cluster为某些数据生成层次聚类.作为应用程序的最后一步,我调用dendrogram函数绘制聚类.我使用内置的Python 2.6.1和这个matplotlib包在Mac OS X Snow Leopard上运行.程序运行正常,但最后Rocket Ship图标(据我所知,这是python中GUI应用程序的启动程序)显示并立即消失而不做任何事情.没有显示任何内容.如果我在通话后添加'raw_input',它就会永久地在停靠栏中上下跳动.如果我从终端运行matplotlib的简单示例应用程序,它运行正常.有没有人有这方面的经验?

python macos matplotlib dendrogram scipy

13
推荐指数
2
解决办法
7882
查看次数

标记ggdendro叶子有多种颜色

我有一种情况,我正在绘制一个带有类标签的数据点的树形图.我希望看到凝聚聚类将具有相同标签的聚类分组在一起.对标签进行颜色编码可以轻松读取这样的树形图.有没有办法在R中用ggdendro实现这个目的?

r colors dendrogram ggplot2

13
推荐指数
1
解决办法
4996
查看次数