我想在R中生成一个高分辨率的树状图.
困难在于有超过200个叶节点,每个节点由一个字符串标识.我想确保每个字符串标签在生成(打印)的图中都是可读的.
另一件事是我想将原始的x轴(对应于叶节点)切换到y轴,并将原始的y轴切换到x轴.为了更清楚的演示目的,我想在图的顶部再添加一个x轴(对应于切换图中的距离信息).如何在R中做到这一点?
您可以使用标准R功能实现此目的.
要从距离矩阵绘制树形图,您可以使用该hclust函数.有关可用算法的更多详细信息,请参见其手册页.
# To produce a dummy distance matrix
distMatrix <- dist(matrix(1:9, ncol=3))
# To convert it into a tree
tree <- hclust(distMatrix)
Run Code Online (Sandbox Code Playgroud)
对于图,dendrogram该类提供了一种有用的plot方法.只需将hclust输出转换为树状图并绘制它:
dendro <- as.dendrogram(tree)
Run Code Online (Sandbox Code Playgroud)
此方法提供了一个horiz可以切换X和Y轴的参数,测试以下内容:
plot(dendro, horiz=TRUE)
plot(dendro, horiz=FALSE)
Run Code Online (Sandbox Code Playgroud)
为了便于阅读,由您用于导出图像的设备决定.R可以产生巨大的图像,由用户决定大小和分辨率.对于参见手册页png或pdf进一步的细节(宽度,高度和资源是有趣的论点).
另一个要遵循的轨迹是图形参数:使用各种cex值进行播放,您将能够调整标签的大小.有关par更多详细信息,请参见手册页.
可读性非常以人为本,所以我认为你不会找到一种自动获取可读图的自动化方法,但是通过一些手动调整,你可以用我提到的工具来实现它.如果自动化是强制性的,可以使用parR生成的一些元素cin来预测所需的设备宽度,但是手动调整它要简单得多.
该axis功能可以帮助您.
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |