R包:TreeAndLeaf二分类树构建R包

news/2024/8/22 2:50:23 标签: r语言, 数据可视化

介绍

树形图显示了二叉树,重点是表示树元素之间的层次关系。树状图包含节点、分支(边)、根和叶。根是分支和节点的来源,指示到叶的方向,即终端节点。

树形图布局的大部分空间用于排列分支和内部节点,留给叶子的空间有限。对于大的树形图,叶片标签通常被压缩到小的凹槽中。因此,当要显示的信息应该突出显示叶子时,树形图可能无法提供最佳布局。

TreeAndLeaf包旨在通过结合树形和力定向布局算法,将分析的重点转移到叶子上,从而提高树形图叶子的可视化效果。包的工作流程如图所示。

在这里插入图片描述

加载R包

library("TreeAndLeaf")
library("RedeR")
library("igraph")
library("RColorBrewer")

导入数据

data("USArrests")
head(USArrests)

在这里插入图片描述

数据处理

  • 构建一个树状图示例
hc <- hclust(dist(USArrests), "ave")
plot(hc, main="Dendrogram for the 'USArrests' dataset",
     xlab="", sub="")

在这里插入图片描述

  • 转换 hclust 数据对象 成 a tree-and-leaf 数据对象
tal <- treeAndLeaf(hc)
  • 设置图属性
tal <- att.mapv(g = tal, dat = USArrests, refcol = 0)
pal <- brewer.pal(9, "Reds")
tal <- att.setv(g = tal, from = "Murder", to = "nodeColor", 
                cols = pal, nquant = 5)
tal <- att.setv(g = tal, from = "UrbanPop", to = "nodeSize",
                xlim = c(10, 50, 5), nquant = 5)
tal <- att.addv(tal, "nodeFontSize", value = 15, index = V(tal)$isLeaf)
tal <- att.adde(tal, "edgeWidth", value = 3)

画图

#--- Call RedeR application
rdp <- RedPort()
calld(rdp)
resetd(rdp)

#--- Send the tree-and-leaf to the interactive R/Java interface
addGraph(obj = rdp, g = tal, gzoom=75)

#--- Call 'relax' to fine-tune the leaf nodes
relax(rdp, p1=25, p2=200, p3=5, p5=5, ps=TRUE)

#--- Add legends
addLegend.color(obj = rdp, tal, title = "Murder Rate", 
                position = "topright")
addLegend.size(obj = rdp, tal, title = "Urban Population Size",
               position = "bottomright")

在这里插入图片描述


http://www.niftyadmin.cn/n/5556021.html

相关文章

微服务治理新篇章:Eureka中细粒度策略管理实现

微服务治理新篇章&#xff1a;Eureka中细粒度策略管理实现 在微服务架构中&#xff0c;服务的治理和管理是确保系统稳定性和可扩展性的关键。Eureka作为Netflix开源的服务发现框架&#xff0c;提供了基本的服务注册与发现功能。然而&#xff0c;随着微服务规模的扩大和业务需求…

数字孪生Digital Twin 结合建筑信息模型 BIM 在AIoT 智慧城市建设中Web 可视化大屏实践...

智慧城市建设通过将城市中的建筑、基础设施等构建 BIM 模型&#xff0c;并与实时采集的数据相结合&#xff0c;创建数字孪生体。可以实现对城市能源消耗、交通流量、环境质量等的实时监测和预测&#xff0c;优化城市规划和资源分配。 01 数字孪生 Digital Twin 数字孪生 Digita…

魁北克:美食的天堂

魁北克&#xff0c;这个位于加拿大东部的法语省份&#xff0c;以其丰富的文化和独特的美食而闻名。在这里&#xff0c;你可以体验到一种融合了法国传统和北美风味的独特生活方式。当晨光初照在圣劳伦斯河上&#xff0c;魁北克的一天便在面包的香气中缓缓展开。在这里&#xff0…

Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点

章节内容 上节我们完成了如下的内容&#xff1a; ZK创建节点&#xff1a;永久、顺序、临时ZK读取节点&#xff1a;列出、查看、更新ZK删除节点 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经…

Mindspore框架:CycleGAN模型实现图像风格迁移|(一)Cycle神经网络模型构建

Mindspore框架&#xff1a;CycleGAN模型实现图像风格迁移算法 Mindspore框架CycleGAN模型实现图像风格迁移|&#xff08;一&#xff09;CycleGAN神经网络模型构建Mindspore框架CycleGAN模型实现图像风格迁移|&#xff08;二&#xff09;实例数据集&#xff08;苹果2橘子&#…

【问题整理】CVE-2024-32709-POC脚本问题

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 问题描述&#xff1a; 写了个脚本想扫CVE-2024-32709漏洞 然后&#xff0c;yakit发的包响应里有我插入的md5(1…

C++ | Leetcode C++题解之第235题二叉搜索树的最近公共祖先

题目&#xff1a; 题解&#xff1a; class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {TreeNode* ancestor root;while (true) {if (p->val < ancestor->val && q->val < ancestor->val) {anc…

信息系统安全(第三章——访问控制)

目录 一、基本概念 1.客体与主体 2.引用监控器与引用验证机制 3.安全策略与安全模型 4.安全内核 5.可信计算基 二、访问矩阵 三、访问控制策略 1.主体属性 2.客体属性 3.授权者组成 4.访问控制粒度 5.主体、客体状态 6.历史记录和上下文环境 7.数据内容 8.决策…