使用R的传单用GIS数据制作饼图



我正在尝试制作一个点图,用饼图代替点,让外行更快地理解信息。

替代方案是:

"文本":统计资料"文本":统计资料"文本":统计资料"文本":统计

library(shiny)
library(shinydashboard)
library(tidyverse)
library(shinyWidgets)
library(plotly)
library(leaflet)
library(scales)
library(sp)
library(sf)
library(ggplot2)
library(leaflet.minicharts)
ui <- dashboardPage( skin = "purple",
dashboardHeader(title = "Practice Map", titleWidth = 400),
dashboardSidebar(disable = TRUE),
dashboardBody(
fluidPage(
useShinydashboard(),
fluidRow(
leafletOutput(outputId = "map")
)

)))
server <- function(input, output) {
output$map <- renderLeaflet ({
#extracting coordinates and adding to data
map.tb <- map%>%
st_coordinates() %>% 
as_tibble() %>% 
rename(lon = 1, lat = 2) %>% 
bind_cols(map %>% st_drop_geometry())
l <- leaflet(map) %>% 
addTiles() %>% 
addMinicharts(
lng = map.tb$lon,
lat = map.tb$lat,
type = pie,
chartdata = map.tb[,c(column1,column2,
column3,column4)],
width = 60 * sqrt(map$colmun1) / sqrt(max(map$column1)), transitionTime = 0,
fillColor = d3.schemeCategory10[1],
colorPalette = d3.schemeCategory10

我总是犯这个错误。

Error in match.arg: 'arg' must be NULL or a character vector

这是否意味着我错过了某个地方的争论?

如果缺少任何信息,请告诉我。

这不是你正在尝试的方式,但你是否考虑过通过QGIS完成这项工作?您可以很容易地在任何地图上绘制节点,然后用指定的属性绘制饼图,而不是每个点标记。

您只需要创建一个.txt文件或具有以下类别的类似文件:

NODEx NODEy stat1 stat2 stat3 stat4

当然,您也可以使用节点名或其他信息来丰富文件,但这是可行的。最后:-将如此创建的文件作为分隔文本导入,-右键单击图层->爆米花->示意图

根据需要自定义饼图。我知道我有点偏离了轨道,但有时面对同样的目标有更好的工具:(

最新更新