更改图例的轴标签

时间:2021-01-11 18:29:37

标签: r ggplot2 shiny legend

我有一个 Shiny 脚本,它根据复选框中选择的内容制作具有不同行数的绘图。此变量称为“轨迹”,具有以下选项:

  • P1_N
  • P2_N
  • P1_N_RA
  • P2_N_RA
  • P1P2_N
  • P1P2_N_RA

我希望它们在图例中列为:

<块引用>

P1 标准化
P2归一化
P1 归一化,滚动平均
P2 归一化,滚动平均
平均 P1+P2 归一化
平均 P1+P2 归一化,滚动平均

可以根据闪亮的脚本为情节选择任意数量的这些。我找到了几种更改图例标签的方法,但我还没有找到任何方法来定义哪个变量与哪个标签名称匹配,因此它适用于我的脚本。

loc <- input$locationtoplot1
locus <- input$locustouse #multi-select check box

rep_title <- paste("Locus Info: ", loc, sep = "")
historical.df <- data.frame(filter(data.df, Location == loc,
                                   Date_sampled >= input$startdate, 
                                   Date_sampled <= input$enddate),
                                   stringsAsFactors = FALSE)

plotdata.df <- select(historical.df, SampleID, Location, Date_sampled, 
               P1_N, P1_N_RA, P2_N, P2_N_RA, P1P2_N, P1P2_N_RA)
                 
plotinfo <- gather(plotdata.df, key = Locus, value = Copies, 
               c(P1_N, P1_N_RA, P2_N, P2_N_RA, P1P2_N, P1P2_N_RA))
mindate <- as.POSIXct(min(plotinfo$Date_sampled))
maxdate <- as.POSIXct(max(plotinfo$Date_sampled))
                 
chartmax <- max(plotinfo$Copies)
plotinfo <- filter(plotinfo, Locus %in% locus)
                 
theplot <- ggplot(plotinfo, aes(x = Date_sampled, y = Copies, group = Locus))+
           theme_classic()+
           geom_line(aes(color = Locus))+
           geom_point(aes(color = Locus))+
           theme(legend.position = "top",
                 axis.text.x = element_text(angle = 60, hjust = 1))+
           scale_x_datetime(date_breaks = input$ticksxaxis, 
                            date_minor_breaks = "1 day", 
                            date_labels = "%Y %b %d")+
           scale_y_continuous(breaks = seq(0,chartmax, by = input$ticksyaxis), 
                              expand = c(0,0), limits = c(0,chartmax))+
           labs(title = rep_title,     
                x = "Date Sampled", 
                y = "Normalized Viral Load")      

plot(theplot)

0 个答案:

没有答案
相关问题