我正在尝试做一个点地图,用饼图代替点,使信息更快地理解为外行。
另一种选择是:
“文本”:统计“文本”:统计
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
这是否意味着我错过了某个地方的争论?
如果有任何信息丢失,请告诉我。
发布于 2022-09-12 17:36:02
并不是你正在尝试的方式,但你是否考虑通过QGIS完成这一任务?您可以很容易地在任何地图上绘制节点,然后用指定的属性绘制饼图,而不是绘制每个点标记。
您只需要创建一个.txt文件或类似于以下类别的文件:
NODEx NODEy stat1 stat2 stat3 stat4
当然,您也可以使用节点名或其他信息充实文件,但这是可行的。最后:将所创建的文件-Import为分隔文本,-Right单击图层-> Poperties ->图表
按您所需的方式自定义饼图。我知道我有点偏离了轨道,但有时有更好的工具来面对同样的目标:)
https://stackoverflow.com/questions/73693058
复制相似问题