我有一个表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)
但是我不确定如何修改颜色和形状。
答案 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)
ggplot:
library(ggplot2)
ggplot(myTable,aes(x = x, y = y)) +
geom_point(aes(col = factor(x), shape = factor(ReportType))) +
theme_bw()