English 中文(简体)
代表聚众双线2个地段
原标题:Representing 2 geom_smooth line types in ggplot legend
  • 时间:2024-02-15 04:56:09
  •  标签:
  • r
  • ggplot2

I am trying to create a ggplot figure to show changes in EC of drip and drain water. I am using one geom_smooth() to draw drain results, using values from one data table and using a second geom_smooth() to draw drip results from another data table:

ggplot(irri.drain.ec.df,aes(x= Cal.Week, y= Drain_EC, colour= Treatment, group= Treatment))+
geom_smooth(size=2,method = "gam",se=F)+ 
geom_point()+ 
geom_smooth(mapping = aes(x= Cal.Week, y= Drip_EC),data = irri.drip.ec.df,method = "gam",se=F,linetype="dashed")+ 
xlab("Calendar Week")+ 
labs(title = "Drain EC Over Time",subtitle = "Dashed line represents drip EC")+
scale_y_continuous("Drain EC (µS/cm)")+
theme(legend.position = c(0.1,0.8), axis.title = element_text(face = "bold", size = 20),axis.text = element_text(size = 13), plot.title = element_text(face = "bold", size = 20, hjust = 0.5), plot.caption = element_text(face = "italic", size = 11, vjust = 0.2), plot.subtitle = element_text(hjust = 0.5), legend.text = element_text(size = 15), legend.title = element_text(size = 17,face = "bold"))

“enterography

我愿在法律文本中添加行文类型,但似乎可以简单地使用<条码>,即线型_manual(或<条码>。

任何想法?

问题回答

Thanks everyone, I have solved this issue using aes(linetype= * ) in each geom_smooth() and adding guide(colour=guide_legend(order=*), linetype=guide_legend(order=*))

例如:

ggplot(irri.df, 
       aes(x= Cal.Week, y= Drain_EC, colour= Treatment, group= Treatment))+ 
  geom_smooth(size=2,se=F,aes(linetype="Drain"))+ geom_point()+
  geom_smooth(mapping = aes(x= Cal.Week, y= Drip_EC,linetype="Drip"),data = irri.df,se=F)+ 
  xlab("Calendar Week")+ 
  labs(title = "Drain EC Over Time",subtitle = "Dashed line represents drip EC")+
  scale_y_continuous("Drain EC (µS/cm)")+
  theme(legend.position = c(0.15,0.75),
        axis.title = element_text(face = "bold", size = 20),
        axis.text = element_text(size = 13),
        plot.title = element_text(face = "bold", size = 20, hjust = 0.5),
        plot.caption = element_text(face = "italic", size = 11, vjust = 0.2),
        plot.subtitle = element_text(hjust = 0.5),
        legend.text = element_text(size = 15),
        legend.title = element_text(size = 17,face = "bold"))+
  guides(colour=guide_legend(order = 1),
         linetype=guide_legend(order = 2))




相关问题
How to plot fitted model over observed time series

This is a really really simple question to which I seem to be entirely unable to get a solution. I would like to do a scatter plot of an observed time series in R, and over this I want to plot the ...

REvolution for R

since the latest Ubuntu release (karmic koala), I noticed that the internal R package advertises on start-up the REvolution package. It seems to be a library collection for high-performance matrix ...

R - capturing elements of R output into text files

I am trying to run an analysis by invoking R through the command line as follows: R --no-save < SampleProgram.R > SampleProgram.opt For example, consider the simple R program below: mydata =...

R statistical package: wrapping GOFrame objects

I m trying to generate GOFrame objects to generate a gene ontology mapping in R for unsupported organisms (see http://www.bioconductor.org/packages/release/bioc/vignettes/GOstats/inst/doc/...

Changing the order of dodged bars in ggplot2 barplot

I have a dataframe df.all and I m plotting it in a bar plot with ggplot2 using the code below. I d like to make it so that the order of the dodged bars is flipped. That is, so that the bars labeled "...

Strange error when using sparse matrices and glmnet

I m getting a weird error when training a glmnet regression. invalid class "dgCMatrix" object: length(Dimnames[[2]]) must match Dim[2] It only happens occasionally, and perhaps only under larger ...

Generating non-duplicate combination pairs in R

Sorry for the non-descriptive title but I don t know whether there s a word for what I m trying to achieve. Let s assume that I have a list of names of different classes like c( 1 , 2 , 3 , 4 ) ...

Per panel smoothing in ggplot2

I m plotting a group of curves, using facet in ggplot2. I d like to have a smoother applied to plots where there are enough points to smooth, but not on plots with very few points. In particular I d ...

热门标签