日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2024/3/26 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R语言学习笔记︱Echarts与R的可视化包——地区地图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.



?

筆者寄語:感謝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



注意:本加載包仍在開發(fā)完善中。recharts基于百度Echarts2的最后一個穩(wěn)定發(fā)布版(v2.2.7)開發(fā)。本文檔始終反映recharts最新的特性(Github)。安裝方法:

if (!require(devtools)) library(devtools) install_github("madlogos/recharts")

1?知識地圖Knowledge Map

  • 基本圖類
  • 單個坐標(biāo)系
  • 直角坐標(biāo)系
  • 散點圖Scatter/氣泡圖Bubble Plot
  • 條圖Bar/柱圖Column Chart
  • 線圖Line/面積圖Area Chart
  • 蠟燭圖/K線圖Candlestick/K Chart
  • 事件河流圖Event River Chart
  • 其他
  • 力導(dǎo)向布局圖Force Chart
  • 和弦圖Chord Chart
  • 詞云Word Cloud
  • 韋恩圖Venn Chart
  • 熱力圖Heatmap
  • 多個坐標(biāo)系
  • 極坐標(biāo)系
  • 餅圖Pie/環(huán)狀圖Ring/玫瑰圖Rose Chart
  • 漏斗圖Funnel/金字塔圖Pyramid Chart
  • 雷達(dá)圖Radar Chart
  • 儀表盤Gauge Chart
  • 其他
  • 地圖Map
  • 樹圖Tree Chart
  • 矩形樹圖Treemap
  • 混合圖類
  • 坐標(biāo)軸/控件配置
  • 調(diào)整數(shù)據(jù)系列
  • 設(shè)置系列setSeries
  • 坐標(biāo)軸/制圖區(qū)
  • 設(shè)置坐標(biāo)軸setAxis
  • 設(shè)置極坐標(biāo)系setPolar
  • 設(shè)置繪圖區(qū)setGrid
  • 圖形元件
  • 添加標(biāo)注線addMarkLine
  • 添加標(biāo)注點addMarkPoint
  • 控件
  • 設(shè)置標(biāo)題setTitle
  • 設(shè)置圖例setLegend
  • 設(shè)置時間軸setTimeline
  • 設(shè)置工具箱setToolbox
  • 設(shè)置值域選擇setDataRange
  • 設(shè)置縮放漫游setDataZoom
  • 設(shè)置地圖漫游setRoam
  • 樣式特性
  • 樣式aesStyle
  • 美工
  • 設(shè)置提示框setTooltip
  • 設(shè)置符號setSymbols
  • 設(shè)置主題setTheme
  • 定制化

  • ——————————————————————————————


    一、基本語法

    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ù),需要變成因子型,謝老師使用的方法是:


    as.factor(enc2native(dtgdp$Prov))


    這個enc2native用得很有意思,用來解決“中文轉(zhuǎn)碼在Windows里一直是老大難”的問題,讀取或設(shè)置字符向量的編碼。


    2、函數(shù)


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


    函數(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")。以下為壓縮代碼,詳情請看謝老師主頁。


    echartR(worldgdp, x = ~country, y = ~GDP, 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ì)的回看謝老師的主頁。


    echartR(chinapm25, x=~City, y=~PM25, xcoord=~xcoord, ycoord=~ycoord,type=c('map','china','point'),markPoint=top5)



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


    四、線標(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ū)別。


    echartR(flight, x=~From, x1=~To, y=~y, series=~From, xcoord=~Xcoord.x, ycoord=~Ycoord.x,xcoord1=~Xcoord.y, ycoord1=~Ycoord.y, type=c('map','china','line'),pos=list(toolbox=3), title="南方航空公司主要航班線路",markPoint=Tier1)
    延伸,要實現(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)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。