R语言学习笔记︱Echarts与R的可视化包——地区地图
?
筆者寄語:感謝CDA DSC訓(xùn)練營周末上完課,常老師、曾柯老師加了小課,講了echart與R結(jié)合的函數(shù)包recharts的一些基本用法。通過對比謝益輝老師GitHub的說明文檔,曾柯老師極大地簡化了一些代碼,可讀性很強。
? ? 關(guān)于此包起源,百度聯(lián)姻d3.js=echarts,echarts+R=recharts包(Yang Zhou和Taiyun Wei),謝益輝老師修改可以傳遞js參數(shù),實現(xiàn)更多功能,
但是呢,謝益輝老師的改良版包還沒發(fā)出來,于是該神就做了一個函數(shù),先給大家試用(點贊謝益輝老師)。
? ? 該函數(shù)叫echartR,實質(zhì)是將Echarts參數(shù)封裝成list,大多數(shù)功能還是和echart函數(shù)一樣。
? ? 要想使用該函數(shù)需要:從github加載recharts包+echartR函數(shù)+一些全局設(shè)定
? ? 該包的下載、安裝以及echartR函數(shù)的下載,看謝益輝老師的GitHub主頁,貼網(wǎng)址:https://github.com/madlogos/recharts
? ? 動態(tài)圖可看:http://madlogos.github.io/recharts/files/echartR.html#force
echartR.R的地址:鏈接:http://pan.baidu.com/s/1mhASmhE 密碼:yq76
——————————————————————————————
號外 號外 新消息(更新于20161002):
?
謝老師已經(jīng)把echartR托管到github上了,可以調(diào)用。同時,
謝老師已經(jīng)把函數(shù)封裝好,放在github中,可以下載調(diào)用。
官方鏈接:http://madlogos.github.io/recharts/index_cn.html
地圖部分的示例 http://madlogos.github.io/recharts/Basic_Plots_31_Map.html
if (!require(devtools)) library(devtools) install_github("madlogos/recharts")
1?知識地圖Knowledge Map
——————————————————————————————
一、基本語法
echart(data=數(shù)據(jù), x=~x軸變量,y=~y軸變量,type=‘scatter’, palette=調(diào)色盤顏色,title=主標(biāo)題 ,subtitle=副標(biāo)題,xAxis=x軸選項,yAxis=y軸選項,markLine=標(biāo)記線,markPoint=標(biāo)記點,等) ? ? 該語法使用來源上課講義之中,具體的關(guān)于散點圖、氣泡圖、餅圖、玫瑰圖啥的看謝老師主頁,主要上excel不太好實現(xiàn)的地圖。? ??地圖的類型有三類:區(qū)域標(biāo)注、點標(biāo)注、線標(biāo)注(數(shù)據(jù)結(jié)構(gòu)最復(fù)雜),舉區(qū)域標(biāo)準(zhǔn),關(guān)于點標(biāo)注以及現(xiàn)標(biāo)準(zhǔn)給出與區(qū)域標(biāo)準(zhǔn)不同的地方。
? ? 畫地圖最麻煩的就是數(shù)據(jù)整理,如果要填寫點/線就得重構(gòu)一些數(shù)據(jù)。
——————————————————————————————
二、區(qū)域標(biāo)注
主要就輸入數(shù)據(jù)類型+函數(shù)+加入點/線三個部分。
1、區(qū)域標(biāo)注輸入數(shù)據(jù)結(jié)構(gòu)
幾個省份,2012,2013,2014三年的GDP數(shù)值(數(shù)據(jù)來源查看謝老師主頁),區(qū)域標(biāo)注的數(shù)據(jù)結(jié)構(gòu)最為簡單易懂。
其中省份數(shù)據(jù)以及年的數(shù)據(jù),需要變成因子型,謝老師使用的方法是:
這個enc2native用得很有意思,用來解決“中文轉(zhuǎn)碼在Windows里一直是老大難”的問題,讀取或設(shè)置字符向量的編碼。
2、函數(shù)
函數(shù)解讀:series代表分類標(biāo)簽(此時為年);
type是設(shè)置中國地圖、世界地圖(world)、區(qū)域標(biāo)注(area)、點標(biāo)注(point);
palette調(diào)色板,筆者覺得該函數(shù)是地圖上點的顏色,可用許多調(diào)色板樣式 Including ‘a(chǎn)etnagreen‘, ‘a(chǎn)etnablue‘, ‘a(chǎn)etnaviolet‘, ‘a(chǎn)etnaorange‘, ‘a(chǎn)etnateal‘, ‘a(chǎn)etnacranberry‘;
dataRangePalette: 如打開數(shù)據(jù)漫游,可單獨指定漫游色板(同palette功能),否則采用Echarts默認(rèn)值,筆者覺得該調(diào)色函數(shù),才是最主要的,而且不僅僅局限在“red”、"yellow",還可以調(diào)色RGB中許多顏色類型,比如#FF6A6A(淺紅色),詳情可查《RGB顏色查詢對照表》。
dataRange代表左下角那個,high/low;
toolbox=3代表右下角那一列,小鉛筆,保存圖片的小按鈕,3是右下角,1是右上角。
3、加點函數(shù)markPint
比如加一個浙江省GDP的點,c(浙江,浙江,10000,x,y,T)=(向量名稱,點集名稱,浙江GDP數(shù)值,浙江x坐標(biāo),浙江y坐標(biāo),是否亮晶晶)
此時謝老師案例中要加入廣東、江蘇、山東三個省份的點,于是先構(gòu)成一個data.frame名字叫top3的數(shù)據(jù)框,注意series以及Prov是字符型。
在函數(shù)中,echartR(...,markPoint=top3)調(diào)用markPoint即可,還是一樣加點的數(shù)據(jù)整理麻煩,調(diào)用很快。
4、世界地圖
貼一下需要的數(shù)據(jù)結(jié)構(gòu)以及函數(shù)中與前面中國省份不同之處即可。
世界地圖舉例的數(shù)據(jù)很簡單,一目了然。下面的函數(shù)也很中國地圖主要不同之處:type=c("map","world","area")。以下為壓縮代碼,詳情請看謝老師主頁。
——————————————————————————————
三、點標(biāo)注
跟區(qū)域不同的地方,就是要加入點的坐標(biāo)(x,y),貼一下數(shù)據(jù)結(jié)構(gòu)以及函數(shù)的不同之處
如果要加點markPoint,數(shù)據(jù)結(jié)構(gòu)變成下面的圖中所示的一樣,注意name,city是字符型,effect代表是否有酷炫特效。
函數(shù)的不同之處,主要在typle=c("map","china","point"),以下代碼為省略版,只是為了看出不同的,詳細(xì)的回看謝老師的主頁。
——————————————————————————————
四、線標(biāo)注
數(shù)據(jù)結(jié)構(gòu)如下圖,又多了from(起點),to(終點).
線標(biāo)注地圖比較特殊,數(shù)據(jù)集要包括y(數(shù)量)、x(起點地名)、x1(終點地名)、series(數(shù)據(jù)系列)、xcoord(起點緯度)、ycoord(起點經(jīng)度)、xcoord1(終點緯度)、ycoord1(終點經(jīng)度)。額外標(biāo)注的話,makeline格式進(jìn)行了擴充
圖中的數(shù)據(jù)y為空值,說明該線路默認(rèn)只有一條航班。
加點的數(shù)據(jù)格式為:
加線格式:
函數(shù)為沒啥大區(qū)別。
延伸,要實現(xiàn)以下的內(nèi)容,需要實現(xiàn)以下幾步:
設(shè)置主題暗色系、設(shè)置新的點數(shù)據(jù)makepoint、線數(shù)據(jù)makeline
筆者在自己玩的時候,出現(xiàn)了一個問題,
設(shè)置好數(shù)據(jù)之后,左下角的high-low坐標(biāo)尺度,一直維持在很高的水平,所以地圖中只有一種顏色。
——————————————————————————————
延伸一:R語言百度地圖接口包
參考CSDN博客:R語言百度地圖接口包
1、下載地址?
http://download.csdn.net/detail/trueman007/7944319
2、安裝方法:
install.packages('你的目錄/RbaiduMaps_0.1.tar.gz', type='source')3、運行方法:
library('RbaiduMaps')4、簡單畫地圖:
library(png) mp<-GetMapBD("上海",size=c(640,640),zoom=10) PlotOnStaticMapBD(mp)總結(jié)
以上是生活随笔為你收集整理的R语言学习笔记︱Echarts与R的可视化包——地区地图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: skui skia-m85
- 下一篇: 使用多进程教你下载 m3u8 加密或非加