数据可视化能够很好地展示我们数据分析的结果,对于平常工作中,一份酷炫的可视化图表也能成为我们在工作汇报时的加分项,可是很多小伙伴对于怎样制作吸引人眼球可视化图表却不知晓,今天小编终于为大家找到了集中好看的力导向图,桑基图、树图、弦图的制作方法,特来分享给大家。
以下文章来源于: AI入门学习公众号
作者:伍正祥
给大家分享4种很厉害的图,基于R语言networkD3包实现,学会了可以大大提高可视化水平,R语言实现非常简单,几行代码就搞定,先看图。
1、力导向图(force Network)
2、桑基图(Sankey diagrams)
3、辐射状网络图(Radial networks)
4、弦图(chord Diagram)
下面一步步实现其中的每个图
#工作空间设置
setwd("C:/Users/wuzhengxiang/Desktop/networkD3")
#包加载
library(networkD3)
#http://christophergandrud.github.io/networkD3/#simple
1、力导向图(force Network)
1)简单网络图
#创建数据
src = c("A", "A", "A", "A", "B", "B", "C", "C", "D",'I')
target = c("B", "C", "D", "J", "E", "F", "G", "H", "I",'A')
networkData = data.frame(src, target)
#直接一个函数即可画出简单图,下面第一个图
simpleNetwork(networkData)
#换个颜色和字体大小,下面第二个图
simpleNetwork(networkData,nodeColour = "#FF69B4",fontSize = 12)
2)复杂网络图
#载入数据
data(MisLinks)
data(MisNodes)
#创建一个简单的力图
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source", Target = "target", Value = "value", NodeID = "name",Group = "group", opacity = 1, zoom = F, bounded = T)
# 当鼠标点击变大大的图
MyClickScript = 'd3.select(this).select("circle").transition().duration(750).attr("r", 30)'
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",Target = "target", Value = "value", NodeID = "name",Group = "group", opacity = 1, zoom = F, bounded = T,
clickAction = MyClickScript)
# 节点大小赋值
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",Target = "target", Value = "value", NodeID = "name", Nodesize = 'size', radiusCalculation = "d.nodesize",
Group = "group", opacity = 1, legend = T, bounded = F)
2、桑基图(Sankey diagrams)
URL <- 'https://raw.githubusercontent.com/christophergandrud/d3Network/sankey/JSONdata/energy.json'
Energy <- jsonlite::fromJSON(URL)
# Plot
sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",Target = "target", Value = "value", NodeID = "name",fontSize = 12, nodeWidth = 30 )
#动态
#静态
3、树状图 (Tree networks)
1)radialNetwork
Flare <- jsonlite::fromJSON(
"https://gist.githubusercontent.com/mbostock/4063550/raw/a05a94858375bd0ae023f6950a2b13fac5127637/flare.json",simplifyDataFrame = FALSE)
hc <- hclust(dist(USArrests), "ave")
radialNetwork(List = Flare, fontSize = 10, opacity = 0.9, margin=0)
radialNetwork(as.radialNetwork(hc))
2)其他类型的树图(不会翻译,弯的树图?)
diagonalNetwork(List = Flare, fontSize = 10, opacity = 0.9, margin=0)
diagonalNetwork(as.radialNetwork(hc), height = 700, margin = 50)
3)dendroNetwork(不会翻译,直的树图?)
hc <- hclust(dist(USArrests), "ave")
dendroNetwork(hc, height = 600)
dendroNetwork(hc, treeOrientation = "vertical")
dendroNetwork(hc, height = 600, linkType = "diagonal")
dendroNetwork(hc, treeOrientation = "vertical", linkType = "diagonal")
dendroNetwork(hc, textColour = c("red", "green", "orange")[cutree(hc, 3)],height = 600)
dendroNetwork(hc, textColour = c("red", "green", "orange")[cutree(hc, 3)], treeOrientation = "vertical")
4、弦图(chordDiagram)
hairColourData = matrix(c(11975, 1951, 8010, 1013,5871, 10048, 16145, 990,8916, 2060, 8090, 940, 2868, 6171, 8045, 6907), nrow = 4)
chordNetwork(hairColourData, width = 500, height = 500,colourScale = c("#000000", "#FFDD89", "#957244", "#F26223"))
#保存为html文件saveNetwork
library(magrittr)
simpleNetwork(networkData) %>% saveNetwork(file = 'Net1.html')
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",Target = "target", Value = "value", NodeID = "name",Nodesize = 'size', radiusCalculation = " Math.sqrt(d.nodesize)+6",Group = "group", opacity = 1, legend = T, bounded = T) %>%
saveNetwork(file = 'forceNetwork_01.html')
数据分析咨询请扫描二维码
大数据分析师证书 针对不同知识,掌握程度的要求分为【领会】、【熟知】、【应用】三个级别,考生应按照不同知识要求进行学习。 ...
2024-10-29拥抱数据分析的世界 - 成为一名数据分析工程师是一个充满挑战和机遇的职业选择。要成功地进入这个领域,你需要掌握一系列关键技 ...
2024-10-28降本增效:管理战略的关键 企业管理中的降本增效不仅是一项重要的战略举措,更是激发竞争力、提高盈利能力的关键。这一理念在当 ...
2024-10-28企业数字化是指利用数字技术和信息化手段,对企业的各个方面进行改造和优化,以提升生产效率、服务质量和市场竞争力的过程。实现 ...
2024-10-28数据科学专业毕业后,毕业生可以选择从事多种不同的岗位和领域。数据科学是一个快速发展且广泛应用的领域,毕业生在企业、学术界 ...
2024-10-28学习数据科学与大数据技术是当今职业发展中至关重要的一环。从基础到高级,以下是一些建议的课程路径: 基础课程: Python编程 ...
2024-10-28在信息技术和数据科学领域,数据架构师扮演着至关重要的角色。他们负责设计和管理企业中复杂的数据基础设施,以支持数据驱动的决 ...
2024-10-28进入21世纪以来,随着信息技术的迅猛发展,大数据已经成为全球最具影响力的技术之一,并成为企业数字化转型的核心驱动力。大数据 ...
2024-10-28随着科技的迅猛发展,数字化转型已成为现代企业保持竞争力和推动增长的关键战略之一。数字化不仅仅是技术的应用,它代表着一种全 ...
2024-10-28银行业正处于一个前所未有的数字化转型时期。在数字经济的驱动下,金融科技如大数据、人工智能、生物识别、物联网和云计算等技术 ...
2024-10-28数据分析可视化是一门艺术与科学相结合的技术,其主要目标是将复杂的数据变得更易于理解和分析。通过将数据以图表的形式呈现,我 ...
2024-10-28数据分析师在现代信息密集型的商业世界中扮演着至关重要的角色。他们通过专业的技能和敏锐的商业洞察力,帮助企业从大量数据中提 ...
2024-10-28在当今快速发展的数据驱动世界中,数据专员的角色变得愈发重要。无论是在企业决策、市场分析还是产品开发中,数据专员都扮演着不 ...
2024-10-27在当今迅速发展的科技时代,数字化对企业的意义无比深远。它不仅提升了企业的竞争力和运营效率,还显著改善了客户体验,推动了企 ...
2024-10-27企业数字化转型是一个全方位的变革过程,旨在通过应用新兴数字技术,重新设计企业的业务流程、组织结构、产品和服务,以在竞争激 ...
2024-10-27数据挖掘是一种集成了统计学、人工智能和机器学习等多种技术的过程,其主要目标是从大量数据中提取有价值的信息和知识。通过分析 ...
2024-10-27数字经济是一种新型的经济形态,以数字技术为基础,通过数据的获取、存储、加工、传输和应用进行经济发展。其核心在于利用数字化 ...
2024-10-27数据科学无疑是现代数字化社会的中流砥柱。随着大数据和人工智能技术的持续飞跃,各行各业对具备数据分析和管理能力的人才需求呈 ...
2024-10-25在当今快速发展的商业环境中,数字化转型已经成为企业保持竞争力和促进业务增长的必然选择。数字化转型不仅意味着技术的变革,更 ...
2024-10-25在当今数据驱动的商业环境中,数据分析已经成为企业决策过程中的核心要素。企业需要处理海量数据,从中提炼出有价值的见解,以支 ...
2024-10-25