我正在尝试在ggplot2中为两个变量(两个物种)的R创建一个散点图,颜色不同,并且在此图中显示两个物种内的差异基于不同形状的季节。我运行以下代码时遇到了这个问题:
Species<- c('1','1','1','1','1','1','1','1','1','1','2','2','2','2','2','2','2','2','2','2')
Age<-c('I','M','M','I','I','M','I','M','I','I','I','M','I','M','M','I','I','I','I','M')
SA<-c(100,90,180,77,65,73,85,87,84,84,82,77,74,65,62,98,120,180,190,100)
V<-c(40,42,45,55,51,62,73,21,41,61,51,92,54,61,65,32,41,55,56,53)
PWstats<-data.frame(Species,Age,SA,V)
PlotSpeciescheck <- ggplot(PWstats,aes(x=log(V), y=log(SA), color=Species, shape=Age)) +
geom_point() +
geom_smooth(method=lm) +
labs(x=expression("Volume ("*cm^3*")"),
y=expression("Surface Area ("*cm^2*")")) +
theme(legend.text = element_text(face="italic"))
它为每个因子创建多条线(物种1和第1季,第2类和第1季,第2类和第1季等等)。我只希望这些线代表两个物种,并且具有季节性差异作为补充可视化。
请注意,有四条线(一条用于物种1和一号年龄,物种2年龄I,物种1年龄M,物种2年龄M),但我只想要两条线(物种1和物种2)但仍然有不同的形状代表不同的年龄阶层。
这有什么办法吗?谢谢!
答案 0 :(得分:0)
顶级造型美感让你烦恼不已。由于您只希望将其应用于点,只需将其专门移动到该层
即可PlotSpeciescheck <- ggplot(PWstats,aes(x=log(V), y=log(SA), color=Species)) +
geom_point(aes(shape=Age)) +
geom_smooth(method=lm) +
labs(x=expression("Volume ("*cm^3*")"),
y=expression("Surface Area ("*cm^2*")")) +
theme(legend.text = element_text(face="italic"))