recharts 词云图

作者: 李小夭 | 来源:发表于2017-10-26 22:30 被阅读26次

一、参数说明

echartr(data, x, y, <t>, <type>)
参数说明

二、数据准备

从百度热词榜获取热词,并解析为数据框,包含热词和频数。
为此构建一个函数getBaiduHot,解析百度热词趋势 网页。

getBaiduHot <- function(url, top=30, HTMLencoding=NULL){
  baiduhot <- paste0(readLines(url), collapse="")
  charset <- gsub('^.+charset=([[:alnum:]-]+?)[^[:alnum:]-].+$', "\\1", 
                  baiduhot)
  if (is.null(HTMLencoding)) if (!is.null(charset)) HTMLencoding <- charset
  baiduhot <- stringr::str_conv(baiduhot, HTMLencoding)
  hotword <- gsub(".+?<a class=\"list-title\"[^>]+?>([^<>]+?)</a>.+?<span class=\"icon-(rise|fair|fall)\">(\\d+?)</span>.+?","\\1\t\\3\t\\2\t", baiduhot)
  hotword <- enc2native(gsub("^(.+?)\t{4,}.+$","\\1", hotword))
  hotword <- t(matrix(unlist(strsplit(hotword,"\t")), nrow=3))
  hotword <- as.data.frame(hotword, stringsAsFactors=FALSE)
  names(hotword) <- c("Keyword", "Freq", "Trend")
  hotword$Freq <- as.numeric(hotword$Freq)
  hotword <- hotword[order(hotword$Freq, decreasing=TRUE),]
  return(hotword[1:top,])
}
hotword <- getBaiduHot("http://top.baidu.com/buzz?b=1", HTMLencoding='GBK')
knitr::kable(hotword)

三、图表展现

echartr(hotword,Keyword,Freq,type = 'wordCloud')
词云图

四、带时间轴的图表

  1. 数据处理
    比较实时、今日和七日热词趋势。
    首先,获取今日和七日两个榜单的网页并转为数据框,合并。
hotword$t <- 'Realtime'
hotword1 <- getBaiduHot("http://top.baidu.com/buzz?b=341&fr=topbuzz_b1", 
                        HTMLencoding = 'GBK')
hotword1$t <- 'Today'
hotword2 <- getBaiduHot("http://top.baidu.com/buzz?b=42&c=513&fr=topbuzz_b341",
                        HTMLencoding = 'GBK')
hotword2$t <- '7-days'
hotword <- do.call('rbind', list(hotword, hotword1, hotword2))
hotword$t <- factor(hotword$t, levels=c('Realtime', 'Today', '7-days'))
  1. 图表展现
echartr(hotword, Keyword, Freq, t=t, type='wordCloud')
词云图

更多功能请戳官方链接:madlogos.github.io/recharts/Basic_Plots_01_Scatterplot_cn.html#-en

相关文章

  • recharts 词云图

    一、参数说明 二、数据准备 从百度热词榜获取热词,并解析为数据框,包含热词和频数。为此构建一个函数getBaidu...

  • Python 画好看的云词图

    一、词云图 (WordCloud) 词云图是数据分析中比较常见的一种可视化手段。词云图,也叫文字云,是对文本中出现...

  • 词云图

    Python2.7wordcloud- 英文,jieba-中文,但是不严谨matplotlibjieba 词云图,...

  • 词云图

    词云图 词云图是一款可以将文章内容转为词云图的小工具,可以用于制作ppt、统计分析等。app简约、免费、无广告,快...

  • 【10分钟】如何快速生成词云图(Word Cloud)

    你是不是也见过高大上的词云图呢? 词云图,就是文字云,是对文本中出现频率较高的关键词予以视觉化的展现,词云图过滤掉...

  • 利用简书首页文章标题数据生成词云

    1.词云图 词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文...

  • 制作公众号内容词云图

    上一篇文章介绍了如何制作公众号标题的词云图。 这篇文章介绍制作公众号文章词云图 同样的,制作公众号文章词云图,也要...

  • < 制作词云 序 >—准备(QQ聊天)素材

    1. 词云图 相信大家在生活中也看过下面这样的图形吧?想必对于词云图也不是很陌生吧?词云图,顾名思义,就是一些...

  • python:生成词云图

    文本分析相关的问题经常会用到词云图这种可视化形式,因此特意开一个博客记录一下词云图相关。 首先推荐几个词云图生成网...

  • R语言可视化(二十六):词云图绘制

    26. 词云图绘制 清除当前环境中的变量 设置工作目录 使用wordcloud2包绘制词云图 使用wordclou...

网友评论

    本文标题:recharts 词云图

    本文链接:https://www.haomeiwen.com/subject/kdjlpxtx.html