R语言复杂网络分析各大电视台合播电视剧数量可视化

简介: R语言复杂网络分析各大电视台合播电视剧数量可视化

全文链接:http://tecdat.cn/?p=30961


我们围绕网络可视化分析技术进行一些咨询,帮助客户解决独特的业务问题点击文末“阅读原文”获取完整代码数据


为了分析电视台时间关系形态变化,我们获取了电视台合播电视剧数量数据:

1、黄色的方格内,数字大小表示为节点面积,即该电视台独播电视剧数量

2、白色的方格内,数字大小表示为连接强弱,可以为具体若干条连线、或连线的透明度、或连线的粗细,即这两个电视台合播电视剧数量

3、整体呈现,可以看到两年同样电视台的关系形态变化,输出一些网络分析的指标

2020年数据

`~$SS04TP$}WMX5N6BVT3L8.png

相关视频

[4HL184B}%J}TILCJ[9F751.png

读取文件

JGC}9`GAQ6LHQVD@IGEL9NA.png

library(igraph);
 
 
network= as.matrix(data)[,-1] 
network=apply(network,1,as.numeric)

给点的名称赋值

enames=colnames(data)[-1]
 events =network

将对角线的元素赋值为0

diag(events)=0

生成网络图格式

for(i in 1:n) {
    for(j in i:n) {
      s = paste(c(as.character(i), as.character(j),
                  as.character(monopartite[i,j]), "\r"), collapse=" ")
      write(s, file=f, append=TRUE, sep="")
    }
  }

读取网络图格式文件

e=read.graph("events.net",

对边进行删减,减去连接很小的边

if(is.null(E(graph)$weight)) stop("No weights for censoring the edges!")
  es = E(graph)[E(graph)$weight<floor | E(graph)$weight>ceiling]
  
  newgraph = graph - es
 
  newgraph = newgraph

给每个边的宽度进行赋值,用粗细表示

plot(newe, vertex.size=diag(network), vertex.shape="square", vert

M[PFAA_K28WU[K]F~7~FY}H.png


对图进行删减,删去连接少的边

newe = censor.edgeweight(e, floor=2); newe
## IGRAPH UNW- 25 91 --

给每个边的宽度进行赋值,用粗细表示

E(newe)$width =   E(newe)$weight

$L(%`@[$DAER}E_BI@H3}(2.png


点击标题查阅往期内容


T[RUVM1%8FNEF$[2}S5RZQC.png

【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享

左右滑动查看更多

01

{~5TA9S[MH[{Y@(MJS0J3WR.png

02

P[MS}QF]~{Q$U]WETLS0JJJ.png

03

9~J2R7DJ6RA21OBP3N}(%TU.png

04

6OBM6}FPF_@RELI]HP_PL89.png



2021年数据

head(data)
##             X1 湖南卫视 浙江卫视 江苏卫视 北京卫视 上海东方卫视 山东卫视
## 1     湖南卫视       24        1        0        0            0        0
## 2     浙江卫视        1        5        3        1            3        1
## 3     江苏卫视        0        3        7        1            2        1
## 4     北京卫视        0        1        1        4            5        1
## 5 上海东方卫视        0        3        2        5            5        3
## 6     山东卫视        0        1        1        1            3        3
##   安徽卫视 天津卫视 江西卫视 湖北卫视 深圳卫视 云南卫视 黑龙江卫视
## 1        0        0        0        0        0        0          0
## 2        2        1        0        0        2        0          0
## 3        1        2        0        1        0        0          0
## 4        1        0        0        0        1        0          0
## 5        3        3        0        0        0        1          0
## 6        2        3        3        2        0        2          2
##   广东卫视 重庆卫视 贵州卫视 四川卫视 辽宁卫视 河北卫视 河南卫视 东南卫视
## 1        0        0        0        0        0        0        0        1
## 2        0        0        2        0        0        0        0        0
## 3        0        1        0        0        0        1        0        0
## 4        1        0        0        1        0        1        1        0
## 5        0        1        0        0        0        0        0        0
## 6        0        0        1        0        3        1        1        0
##   吉林卫视 广西卫视 央视一套 央视八套
## 1        0        0        0        0
## 2        0        0        0        0
## 3        0        0        1        0
## 4        0        0        0        0
## 5        0        0        0        0
## 6        0        0        0        0

给点的名称赋值

enames=colnames(data)[-1]

将对角线的元素赋值为0

diag(events)=0

生成网络图格式

s = paste(c("*vertices ", as.character(n), "\r\n*edges\r"), collapse="")
  write(s, file=f, sep="")
  for(i in 1:n) {
    for(j in i:n) {
      s = paste(c(as.character(i), as.character(j),

读取网络图格式文件

e=read.graph("events.net", format="pajek")

对边进行删减,减去连接很小的边

if(is.null(E(graph)$weight)) stop("No weights for censoring the edges!")
  es = E(graph)[E(graph)$weight<floor | E(graph)$weight>ceiling]

给每个边的宽度进行赋值,用粗细表示

plot(newe, vertex.size=diag(network), vertex.shape="square",

CX6JB1}3PL]S]36YRPN~}B7.png

对图进行删减,删去连接少的边

newe = censor.edgeweight(e, floor=2); newe
## IGRAPH UNW- 25 27 -- 
## + attr: name (v/c), weight (e/n)

给每个边的宽度进行赋值,用粗细表示

E(newe)$width =   E(newe)$weight
 vertex.label.degree=pi/2, layout=layout.circle)
相关文章
|
22天前
|
数据可视化 数据挖掘 图形学
R语言基础可视化:使用ggplot2构建精美图形的探索
【8月更文挑战第29天】 `ggplot2`是R语言中一个非常强大的图形构建工具,它基于图形语法提供了一种灵活且直观的方式来创建各种统计图形。通过掌握`ggplot2`的基本用法和美化技巧,你可以轻松地将复杂的数据转化为直观易懂的图形,从而更好地理解和展示你的数据分析结果。希望本文能够为你探索`ggplot2`的世界提供一些帮助和启发。
|
20天前
|
数据可视化 数据挖掘 数据处理
R语言高级可视化技巧:使用Plotly与Shiny制作互动图表
【8月更文挑战第30天】通过使用`plotly`和`shiny`,我们可以轻松地创建高度互动的数据可视化图表。这不仅增强了图表的表现力,还提高了用户与数据的交互性,使得数据探索变得更加直观和高效。本文仅介绍了基本的使用方法,`plotly`和`shiny`还提供了更多高级功能和自定义选项,等待你去探索和发现。希望这篇文章能帮助你掌握使用`plotly`和`shiny`制作互动图表的技巧,并在你的数据分析和可视化工作中发挥更大的作用。
|
4月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
20天前
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。
|
1月前
|
数据可视化 算法 C++
脑研究、脑网络分析、可视化的工具箱有哪些?
本文列举并简要介绍了用于脑研究、脑网络分析和可视化的多种工具箱,如Brain Connectivity Toolbox、bctpy、人类连接组项目等,为神经科学研究者提供了丰富的分析和可视化大脑网络的工具选择。
70 2
脑研究、脑网络分析、可视化的工具箱有哪些?
|
1月前
|
机器学习/深度学习 数据可视化 Python
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
该博客展示了如何通过Python预处理神经网络权重矩阵并将其导出为表格,然后使用Chiplot网站来可视化神经网络的神经元节点之间的连接。
34 0
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
|
1月前
|
数据采集 存储 数据可视化
基于Python 网络爬虫和可视化的房源信息的设计与实现
本文介绍了一个基于Python Scrapy框架和echart库的房源信息采集与可视化系统,该系统通过自动化爬虫提高房地产数据采集效率,并通过Flask服务器实现数据的Web可视化展示,旨在帮助房地产从业人员和政策制定者高效、直观地了解房源信息。
|
29天前
|
Prometheus 监控 Cloud Native
在Linux中,如何使用Grafana和Prometheus进行网络监控和可视化?
在Linux中,如何使用Grafana和Prometheus进行网络监控和可视化?
|
1月前
|
人工智能 编解码 云计算
骄傲!全球一半人口看奥运,阿里云成功支撑史上最大规模电视网络转播
骄傲!全球一半人口看奥运,阿里云成功支撑史上最大规模电视网络转播
70 0
|
3月前
|
机器学习/深度学习 数据可视化 TensorFlow
【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存
【手把手教学】如何可视化YOLOv8深度学习的网络结构并保存

热门文章

最新文章