使用ggplot更改点的形状和颜色

Shr*_*ire 4 r ggplot2

我是ggplot2的新手.我有2个不同的数据集,其值必须一起绘制在图表中.看一下这个问题的例子, 我尝试使用scale_shape_manual()scale_color_manual().但它并没有改变我的观点的形状和颜色.

我的代码的一小部分如下:

qplot(x=TempC7, y=PresshPa7) + 
 geom_point(aes(x=Temp, y=Pres), data=obsTemp1, na.rm=TRUE) +  
 scale_shape_manual(values=c(19,19)) + 
 scale_color_manual(values=c("blue", "red"))
Run Code Online (Sandbox Code Playgroud)

Sar*_*ina 5

我总是更喜欢使用ggplot函数而不是qplot如果你想指定很多细节.对于您的问题,这取决于您是否将两个数据集放在一个df中.从你的示例代码的方式我会说他们在一个但我不确定.用于在一个数据框(df)中绘制数据的示例代码,该数据框具有名为"Set"的列以定义两个不同的集合:

ggplot(data=df,aes(x=Temp, y=Pres)) + 
     geom_point(aes(color=Set,shape=Set), na.rm=TRUE) +  
     scale_shape_manual(values=c(19,19)) + 
     scale_color_manual(values=c("blue", "red"))
Run Code Online (Sandbox Code Playgroud)

用于绘制数据是否位于名为"obsTemp1"和"obsTemp2"的两个数据帧中的示例代码:

ggplot() + 
     geom_point(data=obsTemp1,aes(x=Temp, y=Pres,color="blue",shape=19), na.rm=TRUE) + 
     geom_point(data=obsTemp2,aes(x=Temp, y=Pres,color="red",shape=19), na.rm=TRUE) 
Run Code Online (Sandbox Code Playgroud)

请记住,通过将shape的两个值都设置为19,您实际上不需要指定它.