R根据变量设置颜色和形状

时间:2018-12-04 20:53:33

标签: r plot

我有一个表myTable,看起来像这样:

x                 y    ReportType
1                 0.9      1
1                 0.87     2
1                 0.92     3
2                 0.66     1
2                 0.98     2
2                 0.83     3
3                 0.54     1
3                 0.87     2
3                 0.67     3

我希望绘制它,以便x变量位于x轴上,而y变量位于y轴上。

我希望这些点根据x是不同的颜色(所以x = 1将不同于x = 2点而不是x = 3点)

然后针对每个点,我希望它根据ReportType的不同而具有不同的形状(因此,所有ReportType = 1的点的形状都不同于ReportType = 2的点,而不是ReportType = 3的点)。

到目前为止,我有:

plot(myTable$KernelFunction, myTable$Value)

但是我不确定如何修改颜色和形状。

1 个答案:

答案 0 :(得分:1)

重新创建数据框:

myTable <- data.frame(x = c(1,1,1,2,2,2,3,3,3),
                     y = 1:9/10,
                     ReportType = rep(c(1,2,3),times = 3))

基本R:

plot(x = myTable$x, y = myTable$y, col = myTable$x, pch = myTable$ReportType)

enter image description here

ggplot:

library(ggplot2)
ggplot(myTable,aes(x = x, y = y)) + 
geom_point(aes(col = factor(x), shape = factor(ReportType))) + 
theme_bw()  

enter image description here