感谢关注天善智能,走好数据之路↑↑↑

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

本文作者:天善智能社区专家徐麟

天善智能社区地址:https://www.hellobi.com/

前言

几经思考,终于下定决心开设这个公众号,希望在这里与大家分享一些关于数据分析&数据挖掘有意思的事情,如果对于内容有任何的意见或建议,都希望大家在评论中不吝赐教。

言归正传,在今后的几期推送中,会与大家分享一些自己用R语言爬虫+可视化实现的案例,第一期就从本人最喜欢看的电视说起,分析各省级卫视收视率。

相关Package

## 爬虫相关包

library(RCurl)

library(XML)

library(RSelenium)

## 数据读取相关包(表格和地图文件)

library(data.table)

library(maptools)

## R中实现sql代码处理表格

library(sqldf)

## 数据可视化相关包

library(ggplot2)

library(ggthemes)

数据爬取

实时数据可以在欢娱网(http://www.csm-huan.com)中获得,该网站数据的爬取需要借助RSelenium包获得动态页面,网站的界面如下:

爬取的核心代码:

ele_str1<-sprintf('//*[@id="tbody"]/tr[%d]/td[1]/a',i)

elem_1 <- getNodeSet(htmlParse(remDr$findEleent(using="xpath",ele_str1)

$getElementAttrbute("outerHTML")[[1]],ecoding='utf-8'),

'//a[@href="javascript:vid(0);"]')

station <- sapply(elem_1,xmlValue)

剩下要做的就是循环得到每个电视台的数据,其中i为循环变量

地图数据读取、融合

地图数据的处理需要完成两部分工作,包括地图shp文件读取与收视率数据融合

数据读取:

china_map <- readShapePoly("中国地图shp格式/china_basic_map/bou2_4p.shp")

china_map1 <- china_map@data

china_map1$id <-0:(nrow(china_map1)-1)

china_map1$id <-as.character(china_map1$id)

china_map2 <- fortify(china_map)

china_map3 <- left_join(china_map2, china_map1,by='id')

colnames(province_rate)[2] <-'NAME'

china_map3$NAME <-as.character(china_map3$NAME)

收视率数据融合:

province_rate <- sqldf('select b.*,a.*

from tv_rate a

inner join province b on a.station = b.station')

province_rate$rate <-as.numeric(substr(as.character(province_rate$rate),1,6))

china_map4 <- left_join(china_map3,province_rate,by='NAME')

数据可视化-全国地图展示数据

完成了前期数据准备,就要进入到了数据可视化的阶段,我们选取了ggplot包进行数据的可视化,并且结合ggthemes包提供的一些不错的配色方案,提高展示的可读性。

首先绘制的是全国地图数据,我们用颜色的深浅表示收视率的高低,分别选取了ggthems包中theme_economist,theme_wsj,theme_map三种配色方案作图进行对比

附作图代码:

p <- ggplot() +

geom_polygon(data=china_map4,aes(x=long,y=lat,group=group,fill=收视率百分比),col='pink')+coord_map()+

scale_fill_gradient2(low='white',high='#DC143C',mid='orange',

midpoint=max(province_rate$rate,na.rm = TRUE)/2)+

xlim(73,137)+ylim(17,55)+

geom_text(data=province_rate,aes(x=longitude,y=latitude,label=province_name),size=2.8,alpha=0.7)+

ggtitle(label = sprintf('实时收视率%s',format(Sys.time(),format="%Y/%m/%d %H:%M")))+

theme_map()+theme(panel.grid.major = element_blank(),

panel.grid.minor = element_blank(),

axis.ticks = element_blank(),

axis.line = element_blank(),

axis.text = element_blank(),

axis.title = element_blank(),

legend.position ='NONE',

plot.title = element_text(hjust=0.5,size=25)

)

print(p)

数据可视化-分省市对比数据

与上一部分相比,加入了facet_wrap函数,实现了将各个省市轮廓进行切分,并且根据收视率的高低进行排序,提高可读性,以下分别是上午,下午,晚上三个时段的数据。

我们不难发现,不同收视段的排名靠前节目有明显不同,上午收看电视的观众更加关注股市和民生类节目,下午则更加注重养生,晚上则是娱乐节目的天下,我们可以针对于此进行更加深入的分析。

卫视实时收视率对比 | R爬虫可视化第1季相关推荐

  1. 同花顺股票分数可视化 | R爬虫可视化第3季

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家徐麟 天善智能社区地址:https://www.hel ...

  2. python将电视剧按收视率进行排序_Python爬虫实现数据可视化,卫视实时收视率对比,就是如此强大!...

    前言: 几经思考,终于下定给大家分享一下数据可视化方面的知识,希望在这里与大家分享一些关于数据分析&数据挖掘有意思的事情,如果对于内容有任何的意见或建议,都希望大家在评论中不吝赐教. 言归正传 ...

  3. 近三十年6000部国产电视剧告诉了我们些什么 | R爬虫可视化第四季

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家徐麟 天善智能社区地址:https://www.hel ...

  4. R爬虫可视化第四季-近三十年6000部国产电视剧告诉了我们些什么

    前言: 距离上次发公众号有将近一个月的时间,在此十分感谢大家对于本公众号的大(mei)力(you)支(qu)持(guan).在这里要感谢鹅厂给了本公众号原创声明功能邀请,从本期开始大家可以直接在文章下 ...

  5. Python爬虫可视化第1季-城市旅游数据分析

    前言: 本着跟大家一同探讨学习的态度,今后几期文章会更新一些用python实现爬虫&可视化的文章.Python对于本人来讲也是一个在逐渐学习掌握的过程,这次的内容就从旅游开始讲起,进入正文前首 ...

  6. Python爬虫可视化第2季-舌尖上的“小龙虾”

    前言: 上期内容与大家分享了一些旅游的内容,从本期开始,会陆续分享一些为吃货们量身定制的文章.世界杯激战正酣,大家在欣赏精彩比赛的同时,怎能少了美食的陪伴,我们今天就来聊聊世界杯的好丽友-小龙虾. P ...

  7. R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...

  8. R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型系数(coefficient).模型总结信息(summary).残差总结信 ...

  9. R语言可视化plot函数中不同lwd参数对应的线条粗细的差异、进行对比可视化

    R语言可视化plot函数中不同lwd参数对应的线条粗细的差异.进行对比可视化 目录 R语言可视化plot

最新文章

  1. LINUX下c语言调用math.h库函数的注意事项
  2. 数据库VIEW(视图)
  3. 网易云信联合墨刀,邀你参加【产品设计狂欢节】!
  4. 十道解分式方程及答案_100道八年级分式方程及答案.
  5. ES6学习(模板字符串)
  6. 下列关于线程调度的叙述中,错误的是()。
  7. Python文摘:Requests (Adavanced Usage)
  8. transformer 解码_碎碎念:Transformer的解码加速
  9. Linux 查看系统所有用户
  10. 画ROC曲线的R包总结
  11. 55. mysqli 扩展库(2)
  12. 【历史上的今天】8 月 24 日:Windows 95问世;乔布斯辞任苹果 CEO 库克上台
  13. Landsat 8数据介绍
  14. 几种常用的操作系统调度策略
  15. 黑客必知投资人的那点事儿——The Hacker’s Guide to Investors
  16. 使用electron-vue开发公式编辑器
  17. excel中通过下拉菜单显示不同的报表内容,类似下拉选项中,一旦切换内容,后面的表格内容全都不同?
  18. websocket连接不稳定_帮你解决WiFi卡顿:拒绝连接不稳定、网速慢
  19. 项目总结(1)-客户管理系统
  20. Elasticsearch-查询

热门文章

  1. 浅析 Linux 系统调用
  2. 亚马逊(AWS) 创建EC2 - Windows
  3. 5G商用价值到底在哪里,可以赋予哪些能力? 1
  4. JAVA固定资产管理系统源码,EAM固定资产设备管理系统源码,,对常用资产设备进行信息化管理
  5. 复习_查询某个学生的姓名和年龄
  6. 一个发现问题解决问题的思路
  7. PCL学习笔记——NormalEstimation估计点云的法向量
  8. ddos高防ip防御效果怎么样?ddos高防ip可以防御多大的ddos攻击?
  9. 生日推理题一枚,消遣一下,有性趣的答案写评论里啊
  10. 【面试必备】Swiftnbsp;面试题及其答案