问题标签 [dendrogram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2259 浏览

java - 我应该使用什么组件在 Java 中绘制树状图?

树状图不是常规图。我应该使用 javax.swing.* 库中的任何组件,还是只使用 java.awt.Graphics 绘制它?

0 投票
2 回答
1815 浏览

dendrogram - 用于绘制树状图的库或任何 API

我有一个 MySQL 数据库,其中包含一些数据,它与 JSP 页面交互,问题是我必须从存储在数据库中的各种文件中绘制树状图。

我为此找到了一些 Java API,例如 JTree 或其他 API,但我不熟悉 java,所以我想知道是否有替代方法可以使用调用程序或其他东西的 CGI 或 php 页面来实现。

欢迎任何想法或建议。

0 投票
1 回答
2741 浏览

r - 如何在 R 树状图中正确着色边缘或绘制矩形?

我使用 R和函数生成了这个树状图。hclust()as.dendrogram()plot.dendrogram()

我使用这个dendrapply()函数和一个局部函数来给树叶上色,效果很好。

我有一个统计测试的结果,表明一组节点(例如树右下角的“ _+v\_stat5a\_01_”和“ ”簇)是否重要或重要。_+v\_stat5b\_01_

我还有一个可以使用的本地函数,它可以dendrapply()在我的树状图中找到包含重要叶子的确切节点。

我想(按照示例):

  1. 为连接“ _+v\_stat5a\_01_”和“ _+v\_stat5b\_01_”的边缘着色;或者,
  2. 在“ ”和“ ”rect()周围画一个_+v\_stat5a\_01__+v\_stat5b\_01_

我有以下本地函数(“nodes-in-leafList-match-nodes-in-clusterList”条件的细节并不重要,但它突出了重要的节点):

在此if块中,我尝试调用dendrapply(n, markEdges),但这不起作用:

_+v\_stat5a\_01_在我的理想示例中,连接“ ”和“ ”的边缘_+v\_stat5b\_01_将是红色的虚线。

我也试过rect.hclust()在这个if块中使用:

但结果不适用于水平树状图(带有水平标签的树状图)。这是一个示例(请注意右下角的红色条纹)。生成的东西的尺寸不正确rect.hclust(),我不知道它是如何工作的,以便能够编写我自己的版本。

我很感激任何关于获得edgeParrect.hclust()正常工作的建议,或者能够编写我自己的rect.hclust()等价物。

更新

自从问了这个问题后,我getAnywhere(rect.hclust())就得到了计算参数和绘制rect对象的功能代码。我编写了这个函数的自定义版本来处理水平和垂直叶子,并用dendrapply().

但是,有某种剪裁效果会删除部分rect. 对于水平叶子(绘制在树右侧的叶子),最右边的边缘rect要么消失,要么比 . 的其他三个边的边框宽度更薄rect。对于垂直叶子(在树底部绘制的叶子),最底部的边缘会rect遇到相同的显示问题。

作为标记重要簇的一种方法,我所做的是减小宽度,rect以便在簇边缘的尖端和(水平)叶子标签之间呈现垂直的红色条纹。

这消除了裁剪问题,但引入了另一个问题,即簇边缘尖端和叶子标签之间的空间只有六个左右像素宽,我对此没有太多控制权。这限制了垂直条纹的宽度。

更糟糕的问题是,x标记垂直条纹在两个元素之间的位置的坐标将根据较大树的宽度(par["usr"])而变化,而这又取决于树层次结构的最终结构。

我写了一个“更正”,或者更确切地说,一个 hack 来调整这个x值和rect水平树的宽度。它并不总是始终如一地工作,但对于我正在制作的树木,它似乎不会太靠近(或重叠)边缘和标签。

最终,一个更好的解决办法是找出如何绘制,rect这样就没有剪裁了。或者一种一致的方法来计算x任何给定树的树边缘和标签之间的特定位置,以便正确地居中和调整条带的大小。

我也会对用颜色或线条样式注释边缘的方法非常感兴趣。

0 投票
2 回答
2077 浏览

r - 来自多个 hclust 对象的共识树或“引导比例”

我有一个 hclust 对象列表,这些对象是由一个变量的细微变化(用于计算距离矩阵)产生的

  • 现在我想从这个列表中制作一个共识树。

是否有通用软件包可以做到这一点?我正在通过 maanova 的一些代码破解我的方式,它似乎可以工作 - 但它很丑陋并且需要大量破解,因为我没有进行“正常”引导(它是化学数据)。

/Palle Villesen,丹麦

0 投票
2 回答
2407 浏览

java - 在 Java 中嵌入树状图

我正在寻找一个能够在 Java 中绘制数据树状图的库(不计算它们,我可以自己做)..你有什么线索吗?已经尝试通过 Google 搜索它,但没有找到任何不独立的东西(虽然我需要将生成嵌入到我的程序中)。

谢谢!

0 投票
6 回答
13503 浏览

r - 您如何比较两个树状图(在 R 中)之间的“相似性”?

我有两个树状图,我希望将它们相互比较,以了解它们有多“相似”。但我不知道有任何方法可以做到这一点(更不用说在 R 中实现它的代码了)。

有什么线索吗?

更新(2014-09-13):

自从提出这个问题后,我编写了一个名为dendextend的 R 包,用于对树状图进行可视化、操作和比较。这个包在CRAN上,并带有一个详细的小插图。它包括cor_cophenetic,cor_bakers_gammaBk/等函数Bk_plot。以及tanglegram用于在视觉上比较两棵树的功能。

0 投票
1 回答
1026 浏览

r - 从 R 中的家谱数据生成树状图

有没有办法生成树状图,其中图表的每个级别代表一代,并且只有同一父亲的儿子在每个级别连接?

我正在尝试使用 R 的 hclust 和 plot 函数来生成父子血统的树状图。期望的结果是一个树状图,其中每一代儿子都放在同一行,在他们父亲的下面。

我希望 hclust 和“完整”方法允许我使用差异矩阵为同一父亲的儿子分配 0 差异分数,然后将其放置在同一层次级别,与数据集中的任何其他实体无关。这不行,同一层次上还有不同世代的儿子。

任何帮助是极大的赞赏!

以下是一些示例数据:

父亲,儿子
A,C
A,D
A,E
B,F
B,G
C,H
C,I
F,J
F,K
G,L

特工 A 有三个儿子:C、D 和 E;和两个孙子通过C:H和I。

特工 B 有两个儿子:F 和 G;共有三个孙子:J、K、L。

0 投票
2 回答
13526 浏览

r - 如何手动创建树状图(或“hclust”)对象?(在 R 中)

我有一个树状图作为图像给我。由于它不是很大,我可以“手动”将它构造成一个 R 对象。

所以我的问题是,当我只有树状图图像时,如何手动创建树状图(或“hclust”)对象?

我看到有一个名为“as.dendrogram”的函数,但我找不到如何使用它的示例。

(ps:这篇文章是按照我的问题从这里开始的)

非常感谢,塔尔

0 投票
3 回答
8926 浏览

python - scipy-cluster 生成的树状图不显示

我正在使用scipy-cluster在某些数据上生成层次聚类。作为应用程序的最后一步,我调用该dendrogram函数来绘制聚类。我使用内置的 Python 2.6.1 和这个 matplotlib 包在 Mac OS X Snow Leopard 上运行。程序运行良好,但最后 Rocket Ship 图标(据我了解,这是 python 中的 GUI 应用程序的启动器)出现并立即消失,没有做任何事情。什么都没有显示。如果我在通话后添加一个“raw_input”,它只会在扩展坞中永远上下弹跳。如果我从终端运行一个简单的 matplotlib 示例应用程序,它运行良好。有没有人有这方面的经验?

0 投票
3 回答
6041 浏览

r - 改变树状图叶子

我想修改从 hclust 对象的绘图产生的树状图中叶子的属性。最低限度,我想更改颜色,但您可以提供的任何帮助将不胜感激。

我确实尝试用谷歌搜索答案,但我看到的每个解决方案似乎都比我想象的要困难得多。