hchinamap:绘制中国及各个省市自治区地图的 html 控件

hchinamap:绘制中国及各个省市自治区地图的 html 控件

emmm… 自然这就是我的第二个基于 htmlwidgets 的 R 包了。很久之前,我就发现简数科技提供的中国地图示例非常不错,一直有想把它封装成 R 函数或者 Stata 命令的想法,今天这个想法终于在 R 上实现了,使用该包可以非常方便的创建中国地图以及各个省市自治区的地图。由于该包是基于 htmlwidgets 开发,所以你也可以在 R Markdown 和 shiny 中使用。

你可以从 github 上安装这个包:

R
1
2
3
devtools::install_github('czxa/hchinamap')
# 或者使用git
devtools::install_git("https://github.com/czxa/hchinamap.git")

概览

中国地图 省份地图

许可证

hchinamap 包依赖于highchartshighcharts是一个商业的 JS 图表库,它同时提供了商业许可和非商业许可。这意味着如果你是非商业使用,你可以免费自由的使用,但是如果你是用于商业和政府,你需要联系highcharts以获得许可。hchinamap 包没有从highcharts获取任何许可,因此在你使用该包以及highcharts前,请谨慎阅读相关许可。

获取 vignettes

R
1
vignette("hchinamap")

使用

绘制中国地图

R
1
2
3
4
5
6
library(tidyverse)
china <- hchinamap::chinadf %>%
dplyr::filter(region == "中国")
hchinamap::hchinamap(name = china$name, value = china$value,
width = "100%", height = "400px",
title = "中国地图")

修改最大值和最小值的颜色:

R
1
2
3
4
5
6
7
8
9
library(tidyverse)
library(hchinamap)
china <- chinadf %>%
dplyr::filter(region == "中国")
hchinamap(name = china$name, value = china$value,
width = "100%", height = "400px",
title = "中国地图",
minColor = "#f1eef6",
maxColor = "#980043")

绘制省份地图

例如绘制安徽地图:

R
1
2
3
4
5
6
7
library(tidyverse)
library(hchinamap)
anhui <- chinadf %>%
dplyr::filter(region == "安徽")
hchinamap(name = anhui$name, value = anhui$value,
width = "100%", height = "500px",
title = "安徽地图", region = "安徽")

广东地图:

R
1
2
3
4
5
6
7
library(tidyverse)
library(hchinamap)
gd <- chinadf %>%
dplyr::filter(region == "广东")
hchinamap(name = gd$name, value = gd$value,
width = "100%", height = "400px",
title = "广东地图", region = "广东")

黑龙江地图:

R
1
2
3
4
5
6
7
library(tidyverse)
library(hchinamap)
hlj <- chinadf %>%
dplyr::filter(region == "黑龙江")
hchinamap(name = hlj$name, value = hlj$value,
width = "100%", height = "400px",
title = "黑龙江地图", region = "黑龙江")

主题

如果一个 RMarkdown 文档中有多个该包创建的地图图表,请慎重使用主题参数,因为图表之间可能会互相干扰主题。

R
1
2
3
4
5
6
7
8
9
library(tidyverse)
library(hchinamap)
sx <- chinadf %>%
dplyr::filter(region == "陕西")
hchinamap(name = sx$name, value = sx$value,
width = "100%", height = "400px",
title = "陕西地图", region = "陕西",
theme = "darkunica",
titleColor = "white")

在 RMarkdown 和 shiny 中使用

由于该包是基于 htmlwidgets 包开发的,所以你可以在 RMarkdown 和 shiny 中使用该包,该包中有一个非常简单的 shiny 示例,因为懒,所有没有在选项卡中设置过多的选项。

R
1
2
3
dir <- system.file("examples", "hchinamap", package = "hchinamap")
setwd(dir)
shiny::shinyAppDir(".")

# R

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×