IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    R之3D标签云图

    qxde01发表于 2013-09-28 08:16:02
    love 0

    《社交网站的数据挖掘与分析》(《 Mining the Social Web》)是一本非常优秀的关于社交网络分析和文本挖掘的书籍,全书没有说教,没有数学公式,有的是如何把一个想法变成代码及可视化式呈现,不仅提供了分析思路,而且还可以扩展,当然,对于如何扩展取决于你的洞察力。全书代码使用Python实现,集成了众多开源工具,在github的代码库已经获得了889个赞(2013-09-27)。

    书中使用了wordpress的一个可视化插件WP-Cumulus,该插件使用javascript和flash生成具有3D效果的标签云图。作者给出了一个de/wp_cumulus" rel="nofollow" style="line-height: 23px;" target="_blank">生成模板,使用JSON格式的数据进行简单的替换即可。我们可以使用R包RJSONIO将其封装成一个简单易用的R包Rtagscloud,仅包含一个函数:

    tagscloud(tag,url=NULL,freq,fontSize=c(1,5),filename="tagscloud",
    color='#00ff00',speed=50, width=600, height=600)

    参数说明:

    • tag,url,freq:分别是标签词汇及其对应的网址和频率,如果没有网址可将url设置为NULL,也是默认值;
    • fontSize=c(1,5):字体大小变化区间;
    • filename:生成的HTML文件的名称;
    • color:字体颜色,其值必须是'#00ff00'、'#FF0000FF'等样式,可以使用rainbow函数生成;
    • speed:字体在flash中的旋转速度;
    • width、 height:控制显示区域的大小。

    豆瓣线上活动标签是一个不错的数据源,除了拥有词汇频率外,还有对应的网址,抓取了1999个标签数据内置在该包中(名称为doubanOnlineTags),作为示例:

    library(Rtagscloud)
    data(doubanOnlineTags)
    x<-doubanOnlineTags[1:50,]
    tagscloud(tag=x[,1],url=x[,2],freq=x[,3])

    此博客无法插入该图,点击这里查看效果,这样的效果显得package:worcloud弱爆了。另外Github真是个好东西,有专门的HTML解析页面。生成的HTML页面调用了Google Code的js文件:


    主要的是后两个js文件,鄙人看不懂js代码,经测试后两个依赖Google的jsapi文件,如果想移植js文件,需注意这几个js文件,另外flash文件tagcloud.swf的路径配置在wordcumulus.js中。


沪ICP备19023445号-2号
友情链接