मैं खुद को चमकदार से परिचित कर रहा हूं, हालांकि, परिचित एक अति उत्साही हो सकता है ... मैंने चमकदार ट्यूटोरियल की कोशिश की, विशेष रूप से मैं अपने data के लिए Lesson 5 अनुकूलित करना चाहता हूं।चमकदार और ggplot2 - ट्यूटोरियल
percent_map <- function(var, color, legend, min = 0, max = 100) {
# constrain gradient to percents that occur between min and max
var <- pmax(var, min)
var <- pmin(var, max)
#plot
aha <- ggplot(abst, aes(long,lat, group=group))+
geom_polygon(aes(fill=var))+
coord_fixed()+
scale_fill_gradient(low = "lightskyblue", high = color,
space = "Lab", na.value = "lightblue")+
labs(title=var, x="", y="")+
theme(axis.text=element_blank(),
axis.ticks=element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank()
)
print(aha)
}
मेरे ui.R
:
library(shiny)
# Define UI for application that draws a histogram
shinyUI(fluidPage(
titlePanel("Ja-Anteil von Abstimmungen"),
sidebarLayout(
sidebarPanel(
helpText("Create maps with information from ballot outcomes."),
selectInput("var",
label = "Choose a variable to display",
choices = c("Epidemiegesetz",
"BG",
"1:12",
"Familien",
"Nationalstrassenabgabegesetz"),
selected = "Epidemiegesetz"),
sliderInput("range",
label = "Range of interest:",
min = 0, max = 100, value = c(0, 100))
),
mainPanel(plotOutput("map"))
)
))
और मेरे server.R
:
मैं ट्यूटोरियल में की तरह एक अतिरिक्त आर-स्क्रिप्ट help.R
, बनाया
library(ggplot2)
abst <- readRDS("~/try.RDS")
abst$KANTONSNR <- as.numeric(abst$KANTONSNR)
source("~/help.R")
library(shiny)
shinyServer(
function(input, output) {
output$map <- renderPlot({
data <- switch(input$var,
"Epidemiegesetz" = abst$Epidemiegesetz,
"BG" = abst$BG,
"1:12" = abst$Loehne,
"Familien" = abst$Familien,
"Nationalstrassenabgabegesetz" = abst$Nationalstrassenabgabegesetz)
color <- switch(input$var,
"Epidemiegesetz" = "darkgreen",
"BG" = "red",
"1:12" = "darkorange",
"Familien" = "darkviolet",
"Nationalstrassenabgabegesetz" = "darkblue")
legend <- switch(input$var,
"Epidemiegesetz" = "Epidemiegesetz",
"BG" = "BG",
"1:12" = "Sozis",
"Familien" = "Familien",
"Nationalstrassenabgabegesetz" = "blablabla")
percent_map(var = data, color = color, max = input$range[2], min = input$range[1])
})
}
)
लेकिन वह ऐसा नहीं करता यहां तक कि दूरस्थ रूप से काम:
Error: arguments imply differing number of rows: 0, 179493
मैं क्या गलत कर रहा हूं? अग्रिम धन्यवाद।
क्या आप इस मुद्दे को कम करने की कोशिश कर सकते हैं? मैंने एक स्थिर साजिश (यानी बिना चमकदार) उत्पन्न करने की कोशिश की और मुझे "त्रुटि: निरंतर पैमाने पर असतत मूल्य प्रदान किया गया"। क्या आप वाकई प्लॉटिंग कोड अपेक्षित काम कर रहे हैं? – tonytonov
मुझे यकीन है कि प्लॉट काम करता है अगर मैं एक सामान्य ggplot नक्शा उत्पन्न करता हूं (निश्चित रूप से 'scale_fill_gradient' कमांड 'उच्च' के साथ निर्दिष्ट किया जाना चाहिए। – Thomas