Hello everyone,
I have a plot showing chloride concentrations for various point over time. I also have a dotted line that show the Secondary Maximum Contaminant Level (my screening limit) on the graphs at 250 mg/L. But I can not figure out how to include the dotted line / Secondary Maximum Contaminant Level in the legend. Any thoughts? My code is as following and is linked to my data on the net. Thank you in advance David #Loads the ggplot2 package. library(ggplot2) ##This loads your data from your worksheet MyData <-read.csv("http://doylesdartden.com/Stats/TimeSeriesExample.csv", sep=",") #Sets which are detections and nondetects MyData$Detections <- ifelse(MyData$D_Chloride ==1, "Detected", "NonDetect") #does the plot p <- ggplot(data = MyData, aes(x=Year, y=Chloride , col=Detections)) + geom_point(aes(shape=Detections)) + #sets the detect vs. non-detect colors scale_colour_manual(values=c("black","red")) + #sets the y scale and log base 10 scale_y_log10() + ##adds line geom_hline(aes(yintercept=250),linetype="dashed")+ #location of the legend theme(legend.position=c("right")) + #sets the line color, type and size geom_line(colour="black", linetype="dotted", size=0.5) + ylab("Chloride (mg/L)") ## does the graph using the Location IDs as the different Locations. p + facet_grid(Location ~ .) [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Take Care
David Doyle |
I just glanced at the problem but I think you would have to create a new variable to replace the hline. What about adding some text annotation in the graph instead?
On Tuesday, September 26, 2017, 3:51:46 PM EDT, David Doyle <[hidden email]> wrote: Hello everyone, I have a plot showing chloride concentrations for various point over time. I also have a dotted line that show the Secondary Maximum Contaminant Level (my screening limit) on the graphs at 250 mg/L. But I can not figure out how to include the dotted line / Secondary Maximum Contaminant Level in the legend. Any thoughts? My code is as following and is linked to my data on the net. Thank you in advance David #Loads the ggplot2 package. library(ggplot2) ##This loads your data from your worksheet MyData <-read.csv("http://doylesdartden.com/Stats/TimeSeriesExample.csv", sep=",") #Sets which are detections and nondetects MyData$Detections <- ifelse(MyData$D_Chloride ==1, "Detected", "NonDetect") #does the plot p <- ggplot(data = MyData, aes(x=Year, y=Chloride , col=Detections)) + geom_point(aes(shape=Detections)) + #sets the detect vs. non-detect colors scale_colour_manual(values=c("black","red")) + #sets the y scale and log base 10 scale_y_log10() + ##adds line geom_hline(aes(yintercept=250),linetype="dashed")+ #location of the legend theme(legend.position=c("right")) + #sets the line color, type and size geom_line(colour="black", linetype="dotted", size=0.5) + ylab("Chloride (mg/L)") ## does the graph using the Location IDs as the different Locations. p + facet_grid(Location ~ .) [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. |
Well, here is one way but it seems a bit clumsy.
In words, I created a new data.frame with "250" in the Chloride vector and "SMCL" in the Detections vector and supplessed one legend. Warning: For my convenience I am using different data.frame names . library(ggplot2) MyData <-read.csv("http://doylesdartden.com/Stats/TimeSeriesExample.csv", sep=",") MyData$Detections <- ifelse(MyData$D_Chloride ==1, "Detected", "NonDetect") dat1 <- MyData[, c(1, 3, 4, 6)] dat2 <- dat1[, c(1,2)] dat2$Detections <- rep("SMCL", nrow(dat2)) dat$Chloride <- rep(250, nrow(dat2)) dat3 <- rbind(dat1, dat2) p <- ggplot(dat3, aes(Year, Chloride, colour = Detections)) + geom_point(aes(shape=Detections), show.legend = F) + geom_line( aes(Year, Chloride)) On Tuesday, October 3, 2017, 3:17:00 PM EDT, David Doyle <[hidden email]> wrote: Hi John, I used your recommendation of adding a new variable (see below) and it is plotting the line at the 250 mg/L mark but I still can not figure out how to get it added to the legend. Thanks again for your help. David #Loads the ggplot2 package. NOTE you have to install it before hand.library(ggplot2) ##This loads your data from your worksheetMyData <-read.csv("http://doylesdartden.com/Stats/TimeSeriesExample.csv", sep=",") #Sets which are detections and nondetects MyData$Detections <- ifelse(MyData$D_Chloride ==1, "Detected", "NonDetect") # adds my screening LevelMyData$SMCL <- rep(250, nrow(MyData)) #does the plotp <- ggplot(data = MyData, aes(x=Year, y=Chloride, col=Detections)) + geom_point(aes(shape=Detections)) + geom_line(data = MyData,aes(y=SMCL))+ #sets the detect vs. non-detect colors scale_colour_manual(values=c("black","red")) + #sets the y scale and log base 10 scale_y_log10() + #location of the legend theme(legend.position=c("right")) + #sets the line color, type and size geom_line(colour="black", linetype="dotted", size=0.5) + ylab("Chloride (mg/L)") ## does the graph using the Location IDs as the different Locations.p + facet_grid(Location ~ .) On Mon, Oct 2, 2017 at 5:09 AM, John Kane <[hidden email]> wrote: MyData$newvar <- rep(250, nrow(MyData)) Again, I have not tried graphing this. On Sunday, October 1, 2017, 10:38:09 PM EDT, David Doyle <[hidden email]> wrote: Hi John, How do I add a second y variable? ThanksDavid On Sun, Oct 1, 2017 at 5:44 AM, John Kane <[hidden email]> wrote: I just glanced at the problem but I think you would have to create a new variable to replace the hline. What about adding some text annotation in the graph instead? On Tuesday, September 26, 2017, 3:51:46 PM EDT, David Doyle <[hidden email]> wrote: Hello everyone, I have a plot showing chloride concentrations for various point over time. I also have a dotted line that show the Secondary Maximum Contaminant Level (my screening limit) on the graphs at 250 mg/L. But I can not figure out how to include the dotted line / Secondary Maximum Contaminant Level in the legend. Any thoughts? My code is as following and is linked to my data on the net. Thank you in advance David #Loads the ggplot2 package. library(ggplot2) ##This loads your data from your worksheet MyData <-read.csv("http:// doylesdartden.com/Stats/ TimeSeriesExample.csv", sep=",") #Sets which are detections and nondetects MyData$Detections <- ifelse(MyData$D_Chloride ==1, "Detected", "NonDetect") #does the plot p <- ggplot(data = MyData, aes(x=Year, y=Chloride , col=Detections)) + geom_point(aes(shape= Detections)) + #sets the detect vs. non-detect colors scale_colour_manual(values=c(" black","red")) + #sets the y scale and log base 10 scale_y_log10() + ##adds line geom_hline(aes(yintercept=250) ,linetype="dashed")+ #location of the legend theme(legend.position=c(" right")) + #sets the line color, type and size geom_line(colour="black", linetype="dotted", size=0.5) + ylab("Chloride (mg/L)") ## does the graph using the Location IDs as the different Locations. p + facet_grid(Location ~ .) [[alternative HTML version deleted]] ______________________________ ________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/ listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/ posting-guide.html and provide commented, minimal, self-contained, reproducible code. [[alternative HTML version deleted]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. |
Free forum by Nabble | Edit this page |