R中数据序列散点图的格式

R中数据序列散点图的格式,r,ggplot2,scatter-plot,R,Ggplot2,Scatter Plot,我一直在努力在R中创建一个看起来不错的散点图。我不认为这有那么难。 经过一些研究,在我看来,ggplot将是一个允许大量格式化的选择。然而,我很难理解它是如何工作的。 我想创建一个两个数据系列的散点图,用两种不同的颜色、可能不同的形状显示点,以及一个带有系列名称的图例。 以下是我的尝试,基于: year1您想要: library(ggplot2) ggplot(mpg, aes(cty, hwy, color=as.factor(year)))+geom_point() 你想要: li

我一直在努力在R中创建一个看起来不错的散点图。我不认为这有那么难。 经过一些研究,在我看来,
ggplot
将是一个允许大量格式化的选择。然而,我很难理解它是如何工作的。 我想创建一个两个数据系列的散点图,用两种不同的颜色、可能不同的形状显示点,以及一个带有系列名称的图例。 以下是我的尝试,基于:

year1您想要:

library(ggplot2)    
ggplot(mpg, aes(cty, hwy, color=as.factor(year)))+geom_point()
你想要:

library(ggplot2)    
ggplot(mpg, aes(cty, hwy, color=as.factor(year)))+geom_point()

不要构建两个不同的数据帧:

df <- mpg[which(mpg$year%in%c(1999,2008)),]
df$year<-as.factor(df$year)
ggplot() + 
  geom_point(data = df, aes(x=cty,y=hwy,color=year,shape=year))  +
  xlab('cty') +
  ylab('hwy')+
  scale_color_manual(values=c("green","yellow"))+
  scale_shape_manual(values=c(2,8))+
  guides(colour = guide_legend("Year"),
         shape = guide_legend("Year"))

df不要构建两个不同的数据帧:

df <- mpg[which(mpg$year%in%c(1999,2008)),]
df$year<-as.factor(df$year)
ggplot() + 
  geom_point(data = df, aes(x=cty,y=hwy,color=year,shape=year))  +
  xlab('cty') +
  ylab('hwy')+
  scale_color_manual(values=c("green","yellow"))+
  scale_shape_manual(values=c(2,8))+
  guides(colour = guide_legend("Year"),
         shape = guide_legend("Year"))

df这将与您当前的设置方式配合使用:

ggplot() + 
  geom_point(data = year1, aes(x=cty,y=hwy), col = "yellow", shape=1)  +
  geom_point(data = year2, aes(x=cty,y=hwy), col="green", shape=2) +
  xlab('cty') +
  ylab('hwy')

这将与您当前的设置方式配合使用:

ggplot() + 
  geom_point(data = year1, aes(x=cty,y=hwy), col = "yellow", shape=1)  +
  geom_point(data = year2, aes(x=cty,y=hwy), col="green", shape=2) +
  xlab('cty') +
  ylab('hwy')

太棒了,那么如何在这个框架中控制符号形状呢?你可以在
aes()
+scale\u shape\u手册(values=c(…)
中添加
shape=as.factor(year)
,将它们设置为任何适合你需要的形状。这很有效,谢谢,但我得到了两个图例:一个是颜色,一个是形状。。。我可以用某种方式“合并”这些图例吗?因此,似乎需要创建两个相同的guide_legend(),以便R理解它是同一个,对吗?不,您可以跳过
guides()
部分,因为
color
shape
都指向相同的
标签(年份)。您将只有一个图例。但是,如果您想要自定义标题(我在这里输入年份),则需要指定
指南
,并为每个
比例
提供相同的标题,使其保持不变。你可以稍微玩玩一下,你会很快理解
ggplot
是如何处理它的。非常棒,以及如何在这个框架中控制符号形状?你可以在
aes()
+scale\u shape\u手册(values=c(…)
中添加
shape=as.factor(year)
来设置它们以满足你的需要。谢谢,但我得到了两个传说:一个是颜色,一个是形状。。。我可以用某种方式“合并”这些图例吗?因此,似乎需要创建两个相同的guide_legend(),以便R理解它是同一个,对吗?不,您可以跳过
guides()
部分,因为
color
shape
都指向相同的
标签(年份)。您将只有一个图例。但是,如果您想要自定义标题(我在这里输入年份),则需要指定
指南
,并为每个
比例
提供相同的标题,使其保持不变。你可以玩玩一下,你会很快明白
ggplot
是如何处理它的。我明白了。所以“col”和“shape”是geom_point()的选项,而不是aes()。。。以及如何添加具有自定义系列名称的图例?谢谢我懂了。所以“col”和“shape”是geom_point()的选项,而不是aes()。。。以及如何添加具有自定义系列名称的图例?谢谢