• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言学习笔记︱Echarts与R的可视化包——地区地图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请


笔者寄语:感谢CDA DSC训练营周末上完课,常老师、曾柯老师加了小课,讲了echart与R结合的函数包recharts的一些基本用法。通过对比谢益辉老师GitHub的说明文档,曾柯老师极大地简化了一些代码,可读性很强。


    关于此包起源,百度联姻d3.js=echarts,echarts+R=recharts包(Yang Zhou和Taiyun Wei),谢益辉老师修改可以传递js参数,实现更多功能,


但是呢,谢益辉老师的改良版包还没发出来,于是该神就做了一个函数,先给大家试用(点赞谢益辉老师)

    该函数叫echartR,实质是将Echarts参数封装成list,大多数功能还是和echart函数一样。


    要想使用该函数需要:从github加载recharts包+echartR函数+一些全局设定


    该包的下载、安装以及echartR函数的下载,看谢益辉老师的GitHub主页,贴网址:https://github.com/madlogos/recharts

    动态图可看:http://madlogos.github.io/recharts/files/echartR.html#force

echartR.R的地址:链接:http://pan.baidu.com/s/1mhASmhE 密码:yq76

——————————————————————————————


号外 号外 新消息(更新于20161002):

 

谢老师已经把echartR托管到github上了,可以调用。同时,


谢老师已经把函数封装好,放在github中,可以下载调用。

官方链接:http://madlogos.github.io/recharts/index_cn.html

地图部分的示例 http://madlogos.github.io/recharts/Basic_Plots_31_Map.html



注意:本加载包仍在开发完善中。recharts基于百度Echarts2的最后一个稳定发布版(v2.2.7)开发。本文档始终反映recharts最新的特性(Github)。安装方法:

[html] view plain copy
  1. if (!require(devtools)) library(devtools)  
  2. install_github("madlogos/recharts")  

1 知识地图Knowledge Map

  1. 基本图类
    1. 单个坐标系
      1. 直角坐标系
        1. 散点图Scatter/气泡图Bubble Plot
        2. 条图Bar/柱图Column Chart
        3. 线图Line/面积图Area Chart
        4. 蜡烛图/K线图Candlestick/K Chart
        5. 事件河流图Event River Chart
      2. 其他
        1. 力导向布局图Force Chart
        2. 和弦图Chord Chart
        3. 词云Word Cloud
        4. 韦恩图Venn Chart
        5. 热力图Heatmap
    2. 多个坐标系
      1. 极坐标系
        1. 饼图Pie/环状图Ring/玫瑰图Rose Chart
        2. 漏斗图Funnel/金字塔图Pyramid Chart
        3. 雷达图Radar Chart
        4. 仪表盘Gauge Chart
      2. 其他
        1. 地图Map
        2. 树图Tree Chart
        3. 矩形树图Treemap
  2. 混合图类
  3. 坐标轴/控件配置
    1. 调整数据系列
      1. 设置系列setSeries
    2. 坐标轴/制图区
      1. 设置坐标轴setAxis
      2. 设置极坐标系setPolar
      3. 设置绘图区setGrid
    3. 图形元件
      1. 添加标注线addMarkLine
      2. 添加标注点addMarkPoint
    4. 控件
      1. 设置标题setTitle
      2. 设置图例setLegend
      3. 设置时间轴setTimeline
      4. 设置工具箱setToolbox
      5. 设置值域选择setDataRange
      6. 设置缩放漫游setDataZoom
      7. 设置地图漫游setRoam
    5. 样式特性
      1. 样式aesStyle
  4. 美工
    1. 设置提示框setTooltip
    2. 设置符号setSymbols
    3. 设置主题setTheme
  5. 定制化

——————————————————————————————


一、基本语法

[html] view plain copy
  1. echart(data=数据, x=~x轴变量,y=~y轴变量,type=‘scatter’, palette=调色盘颜色,title=主标题  
  2. ,subtitle=副标题,xAxis=x轴选项,yAxis=y轴选项,markLine=标记线,markPoint=标记点,等)  
    该语法使用来源上课讲义之中,具体的关于散点图、气泡图、饼图、玫瑰图啥的看谢老师主页,主要上excel不太好实现的地图。

    地图的类型有三类:区域标注、点标注、线标注(数据结构最复杂),举区域标准,关于点标注以及现标准给出与区域标准不同的地方。

    画地图最麻烦的就是数据整理,如果要填写点/线就得重构一些数据。

——————————————————————————————


二、区域标注


主要就输入数据类型+函数+加入点/线三个部分。


1、区域标注输入数据结构




几个省份,2012,2013,2014三年的GDP数值(数据来源查看谢老师主页),区域标注的数据结构最为简单易懂。

其中省份数据以及年的数据,需要变成因子型,谢老师使用的方法是:


[html] view plain copy
  1. as.factor(enc2native(dtgdp$Prov))  


这个enc2native用得很有意思,用来解决“中文转码在Windows里一直是老大难”的问题,读取或设置字符向量的编码。


2、函数


[html] view plain copy
  1. echartR(dtgdp, x = ~Prov, y = ~GDP, series= ~Year,   
  2.         type=c('map','china','area'), palette='gdocs',  
  3.         title="GDPs of China Provinces, 2012-2014 (Million USD)",  
  4.         subtitle='(source: Wikipedia)',  
  5.         subtitle_url="https://raw.githubusercontent.com/madlogos/Shared_Doc/master/Shared_Documents/ChinaGDP.txt",  
  6.         dataRangePalette=c('red','orange','yellow','green','limegreen'),  
  7.         dataRange=c('High',"Low"),pos=list(toolbox=3),markPoint=top3)  


函数解读:series代表分类标签(此时为年);

type是设置中国地图、世界地图(world)、区域标注(area)、点标注(point);

palette调色板,笔者觉得该函数是地图上点的颜色可用许多调色板样式 Including ‘aetnagreen‘, ‘aetnablue‘, ‘aetnaviolet‘, ‘aetnaorange‘, ‘aetnateal‘, ‘aetnacranberry‘;

dataRangePalette: 如打开数据漫游,可单独指定漫游色板(同palette功能),否则采用Echarts默认值,笔者觉得该调色函数,才是最主要的,而且不仅仅局限在“red”、"yellow",还可以调色RGB中许多颜色类型,比如#FF6A6A(浅红色),详情可查《RGB颜色查询对照表》

dataRange代表左下角那个,high/low;

toolbox=3代表右下角那一列,小铅笔,保存图片的小按钮,3是右下角,1是右上角。



3、加点函数markPint


比如加一个浙江省GDP的点,c(浙江,浙江,10000,x,y,T)=(向量名称,点集名称,浙江GDP数值,浙江x坐标,浙江y坐标,是否亮晶晶)

此时谢老师案例中要加入广东、江苏、山东三个省份的点,于是先构成一个data.frame名字叫top3的数据框,注意series以及Prov是字符型。




在函数中,echartR(...,markPoint=top3)调用markPoint即可,还是一样加点的数据整理麻烦,调用很快。





4、世界地图


贴一下需要的数据结构以及函数中与前面中国省份不同之处即可。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
利用R语言绘制世界航班路线图发布时间:2022-07-18
下一篇:
R语言自然语言处理:词性标注与命名实体识别发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap