У меня есть сложное подмножество блестящих графиков (ggplots) на уровнях и не нашел никакого примера, чтобы помочь ... Я хотел был бы иметь возможность выбрать уровни x и y с флажками и графиком на выбранных уровнях.Блестящие приложения не могут выбирать Входные данные на уровнях с ggplots
Здесь подмножество моих данных:
Jahr <- c(2014,2015,2020)
RW<- c(0,45,80)
Aus<- c(0,10,80)
Revit<- c(0,10,50)
Point_size<-c(0,30,0)
df3 <- data.frame(Jahr,RW,Aus,Revit,Point_size)
df3_melt <- melt(df3 , id=c("Jahr","Point_size"))
мой УИ:
ui <- fluidPage(
headerPanel('Gewaesser'),
sidebarPanel(
checkboxGroupInput("jahr", "Jahr", choices = levels(df3_melt$Jahr)),
checkboxGroupInput("thema", "Thema", choices = levels(df3_melt$variable)),
mainPanel(
plotOutput('plot1')
)
))
и сервера:
server <- function(input, output) {
# selectedData <- reactive({
# all[,levels(df3_melt$variable]
# })
output$plot1 <- renderPlot({
ggplot(df3_melt, aes(x=input$jahr,y=value)) +
geom_line(aes(group=input$thema, color=input$thema),size=0.5,linetype="dashed")+
geom_segment(aes(x = 2014, y = 0, xend = 2015, yend = 45),colour="red",size=0.4)+ #ist
geom_segment(aes(x = 2014, y = 0.5, xend = 2015, yend = 10.5),colour="green",size=0.4)+ #ist
geom_segment(aes(x = 2014, y = 0, xend = 2015, yend = 9.8),colour="blue",size=0.4)+ #ist
coord_cartesian(ylim = c(0,101),xlim=c(2014,2020.5))+
scale_x_continuous(breaks=c(2014,2015, 2016, 2017,2018,2019,2020), labels=c("Baseline","GJ 2015","GJ 2016","GJ 2017","GJ 2018","GJ 2019","Sollwert 2020"),minor_breaks=seq(2015, 2019, by=2))+
geom_segment(aes(x = 2020, y = 0, xend = 2020, yend = 100,alpha=0.5),colour="chartreuse3",size=4)+ #Zielwert
geom_segment(aes(x = 2015, y = 0, xend = 2015, yend = 100),colour="black",size=0.5)+
theme(plot.background = element_blank(),
axis.title.y = element_blank(),
axis.title.x = element_blank(),
panel.border = element_blank(),
panel.background = element_rect(color="white",fill="white"),
axis.text.x = element_text(size=6, angle=45, hjust=1, color="black"),
axis.text.y = element_text(size=6, hjust=1, color="black"),
legend.title = element_blank(),
#legend.key.size=unit(1),
legend.key = element_rect(colour = 'white', fill = 'white', size = 0.5)
)+
guides(fill = guide_legend(label.position = "bottom"))
})
}
Помощь будет высоко оценена, блестящая выглядит удивительно, но сложно с уровнями ... Спасибо
Спасибо, но это не решило проблему .... Все еще есть некоторые проблемы с измерением ... Также при использовании реактивной (...) –
Обратите внимание, что вы должны поместить все 'input' в' aes_string() 'вместо of 'aes()'. Кроме того, было бы полезно, если бы вы создали пример * минимального *: удалите из кода все, что не связано с вашей проблемой. a) что легче обнаружить проблему; б) люди не любят переваривать большие куски кода, не связанные с проблемой. – Thierry