我有一个 Shiny 脚本,它根据复选框中选择的内容制作具有不同行数的绘图。此变量称为“轨迹”,具有以下选项:
我希望它们在图例中列为:
<块引用>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)