Dear Stephen, I answer inline:
On 2020-08-19 12:57 +1000, Jim Lemon wrote: | On Wed, Aug 19, 2020 at 3:09 AM Stephen P. Molnar <s.mol...@sbcglobal.net> wrote: | | | | What I would like to do is use | | linetype, rather than color, in line | | 27. You need to specify linetype instead of color in ggplot::aes, like so ggplot2::aes( x=date, y=count, linetype=cases) and change scale_color_manual to scale_linetype_manual and its values like so ggplot2::scale_linetype_manual( name = "Test", labels = levels, values = c("dotted", "dashed", "solid")) | | The date in the title of the plot , | | line 33, is the max value of the | | date in in line 14 and I would like | | to use that rather than edit the | | Script every time the date changes. | | Okay, I can't help much with the | ggplot stuff so forget the "lty=" | argument for that is base graphics. | However, you may get away with | | ggtitle(paste0("COVID-19 Tests in Ohio \n(",date[length(date]),")"))+ | | I don't know whether the tidy* stuff | handles indexing in the same way as | base R. I added a format, which converts it to the date format you mentioned (but with a zero in the month part ...): ggplot2::ggtitle( paste0("COVID-19 Tests in Ohio \n(", format(max(dfO$date), "%m/%d/%y"), ")")) + Here is the whole script: datO <- read.csv("https://api.covidtracking.com/v1/states/oh/daily.csv") cases <- c("positive", "negative", "total") levels <- paste0( toupper(substr(cases, 1, 1)), substr(cases, 2, nchar(cases))) dfO <- data.frame( date= rep( x=lubridate::ymd(datO$date), each=length(cases)), cases=levels, count=as.vector(t(datO[,cases]))) dfO$cases <- factor(dfO$cases, levels=levels) file <- "/tmp/stephen.pdf" res <- .5 width <- 9*res height <- 5*res pdf(file=file, width=width, height=height) mapping <- ggplot2::aes( x=date, y=count, linetype=cases) p <- ggplot2::ggplot( data=dfO, mapping=mapping) + ggplot2::geom_line() + ggplot2::scale_linetype_manual( name = "Test", labels = levels, values = c("dotted", "dashed", "solid")) + ggplot2::ylim(0, 2e6) + ggplot2::labs( x = "Date", y = "Number of Tests") + ggplot2::ggtitle( paste0("COVID-19 Tests in Ohio \n(", format(max(dfO$date), "%m/%d/%y"), ")")) + ggplot2::theme_bw() + ggplot2::theme( axis.text.x = ggplot2::element_text( angle = 30, hjust = 1), plot.title = ggplot2::element_text( hjust = 0.5)) p dev.off() Best, Rasmus
signature.asc
Description: PGP signature
______________________________________________ R-help@r-project.org 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.