R 绘制散点图并根据ggplot2中的一个分类列设置颜色
给出如下数据帧:R 绘制散点图并根据ggplot2中的一个分类列设置颜色,r,ggplot2,R,Ggplot2,给出如下数据帧: structure(list(city = structure(c(1L, 3L, 4L, 2L), .Label = c("bj", "cq", "sh", "tj"), class = "factor"), area = c(1580.86, 1927.95, 532.24, 613.09), price = c(9.51, 94.42, 10.77, 8.58), le
structure(list(city = structure(c(1L, 3L, 4L, 2L), .Label = c("bj",
"cq", "sh", "tj"), class = "factor"), area = c(1580.86, 1927.95,
532.24, 613.09), price = c(9.51, 94.42, 10.77, 8.58), level = structure(c(1L,
1L, 2L, 2L), .Label = c("a", "b"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))
我想画一个散点图,其中x
表示area
和y
表示price
,同时,点的颜色仅基于level
,这意味着只有两种颜色可以区分a
和b
如何使用
ggplot2
绘制此图?谢谢。您可以使用以下代码来实现此目的
library(ggplot2)
ggplot(df, aes(x = area, y = price, col=level)) + geom_point()
数据
df=structure(list(city = structure(c(1L, 3L, 4L, 2L), .Label = c("bj",
"cq", "sh", "tj"), class = "factor"), area = c(1580.86, 1927.95,
532.24, 613.09), price = c(9.51, 94.42, 10.77, 8.58), level = structure(c(1L,
1L, 2L, 2L), .Label = c("a", "b"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))
如果我想将
city
添加到点,我使用了geom_text(aes(label=city))
,它似乎不起作用。我认为最好使用geom_text\u repel
。是的,修改了答案以供将来参考。
df=structure(list(city = structure(c(1L, 3L, 4L, 2L), .Label = c("bj",
"cq", "sh", "tj"), class = "factor"), area = c(1580.86, 1927.95,
532.24, 613.09), price = c(9.51, 94.42, 10.77, 8.58), level = structure(c(1L,
1L, 2L, 2L), .Label = c("a", "b"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))