ggplot()手动为每个点上色

时间:2019-07-30 20:37:17

标签: r ggplot2

如何在ggplot()中创建散点图,并手动为每个点着色?我的数据框中提供了必要的颜色。

> head(df)
     x    y       col
1 0.72 2757   #2AAE89
2 0.72 2757   #2DFE83
3 0.72 2757   #40FE89
4 0.70 2757   #28FE97
5 0.86 2757   #007C7D
6 0.75 2757   #24FEA1

点的颜色必须与数据框中的颜色完全相同

1 个答案:

答案 0 :(得分:3)

幸运的是,使用scale_colour_identity()有一个相对简单的解决方案,请参见以下示例:

library(ggplot2)

z <- "     x    y    z     col
1 0.72 2757   86 #2AAE89
2 0.72 2757   86 #2DFE83
3 0.72 2757   86 #40FE89
4 0.70 2757   82 #28FE97
5 0.86 2757   26 #007C7D
6 0.75 2757   79 #24FEA1"

df <- read.table(text = z, header = T)

ggplot(df, aes(x, y, colour = col)) +
  geom_point() +
  scale_colour_identity()

enter image description here

编辑:我在加载数据时犯了一个错误,但是绘图语法仍然有效。