我想命名閃亮ggplot的傳說。問題在於,由於用戶可以關閉並在行上每行的名稱更改,圖例的名字與第一個可見行相關聯。在qqplot和Shiny中命名傳奇
我需要一種方法來重命名傳奇。
數據:
data_raw < - 結構(列表(Group.1 =結構(C(1L,2L,3L,4L,5L,6L,7L,1L,2L,3L,4L, 5L,7L,1L,2L,3L,4L,5L,6L,7L), .Label = c(「2016-07-01」,「2016-08-01」,「2016-09-01」,「組2 = c(101,101, 101,101,101,101,101,103,103,103,103,103,103,105,105,105,105,105,105,105), x = c(「57976」,「42933」, 「49731」「46808」「48938」「41937」「41932」「48900」「37625」「57700」「41700」「57600」「48800」「46102」「35796」 「,」42490「,」46755「,」46757「,」46810「,」 (「Group.1」,「Group.2」,「x」), row.names = c(NA,20L),class =「data.frame」)
代碼:
library(shiny)
library(ggplot2)
ui <- fluidPage(
titlePanel("Legends"),
sidebarLayout(position = "left",
sidebarPanel(checkboxGroupInput("checkGroup",
label = h3("Postnumber"),
choices = list(
"101" = 101,
"103" = 103,
"105" = 105),
selected = "101"
)),
mainPanel("main panel",
plotOutput('myplot'))
))
server <- function(input, output) {
output$myplot <- renderPlot({
grouped_data <- data_raw[data_raw$Group.2 %in% input$checkGroup,]
p <- ggplot(grouped_data, aes(Group.1, x, group = Group.2)) +
scale_colour_manual(values=c("#999999", "#E69F00", "#56B4E9"),
labels=c("postnr 101", "postnr 103", "postnr 105"))
p + geom_line() +
theme(axis.title.y=element_text(margin=margin(0,20,0,0))) +
geom_line(data = grouped_data, aes(colour = factor(Group.2)))
})
}
shinyApp(ui = ui, server = server) # this launches your app
我如果離開傳說爲是(沒有任何重命名),它使用從checkboxGroupInput下選擇列表中正確的名稱,但我需要重新命名它的能力。
Brillant,謝謝。 簡單的解決方案和一些我不知道的新事物:D – Atius