如何使用函数/ggplot 创建图例

问题描述

大家好,我有一个关于传奇的问题,我不明白我是如何获得传奇的。我还希望颜色与图例相同。有没有人有想法? 谢谢

output$gesamtkonsum <-renderPlot({
    

dataset <- subset(consum,geschlecht == input$geschlecht & altersgruppe == input$altersgruppe)

    columns <- NULL

    droge <- input$drogen

    if (droge == "Tabak"){
      columns <- c("`Tabak`","`ehemalige Raucher (seit mind. 2 Jahren)`","`ehemalige Raucher (seit weniger als 2 Jahren)`","`Nichtraucher (nie)`")
    } else if (droge == "Alkohol"){
      columns <- c("`Alkohol`","`1 mal pro Tag Alkoholkonsum`","`seltener Alkoholkonsum`","`1-2 mal wöchentlich Alkoholkonsum`","`nie Alkoholkonsum`")
    } else if (droge == "Schlafmittel"){
      columns <- c("`Schlafmittel`","`täglich Schlafmittel`","`mehrmals pro Woche Schlafmittel`","`etwa einmal pro Woche Schlafmittel`")
    } else if (droge == "Beruhigungsmittel") {
      columns <- c("`Beruhigungsmittel`","`täglich Beruhigungsmittel`","`mehrmals pro Woche Beruhigungsmittel`","`etwa einmal pro Woche Beruhigungsmittel`")
    } else if ( droge == "Cannabis") {
      columns <- c("`Cannabis`","`schon einmal genommen Cannabis`","`in den letzten 30 Tagen Cannabis`")
    } else if ( droge == "harte Drogen"){
      columns <- c("`harte Drogen`","`schon einmal genommen harte Drogen`","`in den letzten 12 Monaten Harte Drogen`")
    }

    plot <- ggplot()

    for (i in columns){
            plot <- plot + geom_line(data = dataset,aes_string(x = "jahr",y = i,group = 1),colour =  randomColor(count = 1,hue = c(" ","random","red","orange","yellow","green","blue","purple","pink","monochrome"),luminosity = c(" ","light","bright","dark")))
    }
    
  print(plot) 
  })
}



here were my structure:structure(list(jahr = structure(c(6L,6L,5L,4L,3L,2L,1L,1L),.Label = c("1992","1997","2002","2007","2012","2017"),class = "factor"),geschlecht = structure(c(1L,2L),.Label = c("Frauen","Männer"),altersgruppe = structure(c(1L,3L),.Label = c("15-39","40-69","70+"),Tabak = c(29.5,53.7,68,38.9,29.4,14.9,30.7,24.8,9,42.2,30.1,11.6,29,24.4,6.4,38.8,31.1,13,32,26,7.6,41.2,35.5,17.1,37.3,25.9,8,45.3,37.1,21.2,22,6.2,40.5,36.4,20.1),Alkohol = c(74.4,79.3,73.8,85.3,88.2,88.4,77.4,80.6,72.1,86.9,90,87.9,76.5,80.4,69.5,87.1,90.1,90.2,68.3,74.8,58.6,84.3,87.4,85.6,75.7,77.9,61.2,86.6,91.6,78.6,80,66.4,88.1,93.7,89.9),Schlafmittel = c(1.5,6,15.7,1.1,3.8,6.5,1.8,6.7,18.9,0.9,3.7,9.9,1.2,7.1,21.4,0.2,3.9,11.4,0.7,4.9,17.9,0.3,2.6,1.5,24,3.1,1.3,27.7,10.9),Beruhigungsmittel = c(2,4.6,8.6,2.5,5.7,9.5,1.7,4.5,2.2,10.6,1.9,7,2.1,5.9,8.4,1,3.3,6.8,3.2,5.8,6.3,2,3.9),Cannabis = c(36.2,19.9,52.9,30.9,32.2,16.6,51.7,27.6,26.8,14.1,47.9,21,24.6,43.5,15.8,22.8,5.1,40.4,12.4,13.2,27,0),`harte Drogen` = c(7.3,16,8.5,2.8,12.1,6.1,2.7,10.2,5,3.5,1.4,3,3.4,7.3,`Nichtraucher (nie)` = c(59,50.6,42.1,37.4,57.4,52.2,72,47.7,40.7,38.6,59.5,51.9,75.4,50.9,35.4,56.6,53.3,77.1,48.6,32.4,39.6,50.7,55.1,77.5,45.1,31.2,33,54,59.7,82.9,47,29.9,28.8),`ehemalige Raucher (seit mind. 2 Jahren)` = c(7.2,21.3,22.5,25.8,46.7,9.1,21.8,18.5,49.1,8.8,22.3,17.2,7.8,27.8,50,8.1,19.2,14.8,29.8,42.3,9.6,17.6,13.9,28.8,44.5,11.5,16.8,9.2,48.2),`ehemalige Raucher (seit weniger als 2 Jahren)` = c(4.3,4,0.4,2.4,2.3,1.6,2.9,2.9),`2 mal oder mehr pro Tag Alkoholkonsum` = c(0.4,0.6,10,9.7,5.5,7.9,13.1,10.7,4.1,6.9,15.3,16.5),`1 mal pro Tag Alkoholkonsum` = c(1.3,29.7,8.9,16.3,4.8,15.6,31.6,4.2,20.3,34.2,15.4,20.8,34.9,14.3,25.4,33.5,4.4,10.9,14.2,11.3,23.9,29),`mehrmals pro Woche Alkoholkonsum` = c(7.7,13.3,16.5,21.7,15,13.4,17.8,10.5,11.7,14.4,11,8.2,16.2,4.3,15.1,3.6,14.5,7.8),`1-2 mal wöchentlich Alkoholkonsum` = c(34.6,32.7,41,33.6,20.7,31.4,44.6,18.7,32.8,30.5,33.7,19.7,28.2,42.8,25.1,39.3,26.5,35.1,16.8),`seltener Alkoholkonsum` = c(30.9,23.8,23.6,37.9,28.1,30,23.5,18.4,17.4,29.6,23.3,13.8,24.9,14.6,13.5,37.6,29.1,17.7,36.2,32.3,19.7),`nie Alkoholkonsum` = c(25.2,26.2,14.7,11.8,22.4,19.4,27.9,23.4,19.6,12.9,9.8,31.7,25.2,41.4,12.6,24.3,22.1,20,11.9,10.1),`täglich Schlafmittel` = c(0.4,11.1,12.8,7.4,16.4,9.4,7),`mehrmals pro Woche Schlafmittel` = c(0.7,0.5,2),`etwa einmal pro Woche Schlafmittel` = c(0.4,0.8,1.9),`täglich Beruhigungsmittel` = c(0.8,7.5,`mehrmals pro Woche Beruhigungsmittel` = c(0.6,`etwa einmal pro Woche Beruhigungsmittel` = c(0.6,`in den letzten 30 Tagen Cannabis` = c(3.4,6.6,`schon einmal genommen Cannabis` = c(32.7,18.8,43.8,28.3,16.1,44.1,26.3,13.6,40.6,19.5,35.3,20.1,33.8,22.7,`in den letzten 12 Monaten Harte Drogen` = c(1.2,`schon einmal genommen harte Drogen` = c(6.1,12.3,7.7,5.6,`gesamter Zeitraum` = c(NA,NA,NA)),row.names = c(NA,-36L),class = "data.frame")


maybe i expressed myself wrong,the legend should show which line is which,i.e. if i choose Tabak the legend should show me the color of the respective category

for example: Tabak = blue


 in the legend


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)