使用传单生成总计数图
Using leaflet to produce plot with total count
我正在尝试使用 R 中的 leaflet 包来生成交互式视觉效果,这有助于我可视化以下数据:
Provice Lat Long Date Confirmed Recovered Deaths
1 Anhui 31.82570 117.2264 20-01-22 1 0 0
2 Anhui 31.82570 117.2264 20-01-23 9 0 0
3 Anhui 31.82570 117.2264 20-01-24 15 0 0
4 Anhui 31.82570 117.2264 20-01-25 39 0 0
5 Anhui 31.82570 117.2264 20-01-26 60 0 0
6 Anhui 31.82570 117.2264 20-01-27 70 0 0
7 Anhui 31.82570 117.2264 20-01-28 106 0 0
8 Anhui 31.82570 117.2264 20-01-29 152 2 0
9 Anhui 31.82570 117.2264 20-01-30 200 2 0
10 Anhui 31.82570 117.2264 20-01-31 237 3 0
注:一共有10个省份,每个省份都有各自的坐标。
到目前为止,我已经能够创建以下图像:
使用以下代码:
dta2 %>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap) %>%
addMarkers(label = dta2$Confirmed , lng = dta2$Long, lat = dta2$Lat ,clusterOptions = markerClusterOptions(), popup = ~paste("Provice:", dta2$Provice))
但是,我的目标是显示每个集群中该病毒的确诊病例总数,而不是每个集群的观察数(每个省有 22 个 obs)。换句话说,我想显示各个集群中 10 个省份中每个省份的已确认列的总和,而不是频率。有人可以为我解释一下吗?
由于我无权访问您的数据,因此很难确定我的提议是否有效。但我认为以下可能有效。请注意,我正在使用 data.table
包来汇总数据,如果您还没有安装它,则需要安装它。
library(data.table)
# Summarize the data
setDT(dta2)
dta2 <- dta2[, .(
Confirmed = sum(Confirmed),
Recovered = sum(Recovered),
Deaths = sum(Deaths)
), .(Provice, Lat, Long)]
# Create the leaflet map
leaflet(dta2) %>%
addProviderTiles(providers$OpenStreetMap) %>%
addLabelOnlyMarkers(
lng = ~Long,
lat = ~Lat,
label = ~Confirmed,
labelOptions = labelOptions(noHide = TRUE)
)
如果需要,您可以使用 addLabelOnlyMarkers()
函数的参数 labelOptions
自定义显示。
我正在尝试使用 R 中的 leaflet 包来生成交互式视觉效果,这有助于我可视化以下数据:
Provice Lat Long Date Confirmed Recovered Deaths
1 Anhui 31.82570 117.2264 20-01-22 1 0 0
2 Anhui 31.82570 117.2264 20-01-23 9 0 0
3 Anhui 31.82570 117.2264 20-01-24 15 0 0
4 Anhui 31.82570 117.2264 20-01-25 39 0 0
5 Anhui 31.82570 117.2264 20-01-26 60 0 0
6 Anhui 31.82570 117.2264 20-01-27 70 0 0
7 Anhui 31.82570 117.2264 20-01-28 106 0 0
8 Anhui 31.82570 117.2264 20-01-29 152 2 0
9 Anhui 31.82570 117.2264 20-01-30 200 2 0
10 Anhui 31.82570 117.2264 20-01-31 237 3 0
注:一共有10个省份,每个省份都有各自的坐标。
到目前为止,我已经能够创建以下图像:
使用以下代码:
dta2 %>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap) %>%
addMarkers(label = dta2$Confirmed , lng = dta2$Long, lat = dta2$Lat ,clusterOptions = markerClusterOptions(), popup = ~paste("Provice:", dta2$Provice))
但是,我的目标是显示每个集群中该病毒的确诊病例总数,而不是每个集群的观察数(每个省有 22 个 obs)。换句话说,我想显示各个集群中 10 个省份中每个省份的已确认列的总和,而不是频率。有人可以为我解释一下吗?
由于我无权访问您的数据,因此很难确定我的提议是否有效。但我认为以下可能有效。请注意,我正在使用 data.table
包来汇总数据,如果您还没有安装它,则需要安装它。
library(data.table)
# Summarize the data
setDT(dta2)
dta2 <- dta2[, .(
Confirmed = sum(Confirmed),
Recovered = sum(Recovered),
Deaths = sum(Deaths)
), .(Provice, Lat, Long)]
# Create the leaflet map
leaflet(dta2) %>%
addProviderTiles(providers$OpenStreetMap) %>%
addLabelOnlyMarkers(
lng = ~Long,
lat = ~Lat,
label = ~Confirmed,
labelOptions = labelOptions(noHide = TRUE)
)
如果需要,您可以使用 addLabelOnlyMarkers()
函数的参数 labelOptions
自定义显示。