library(ggplot2)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(size=4)
Run Code Online (Sandbox Code Playgroud)
假设你有上述内容scatterplot.如何指定>= 25将绘制mpg 的点,red一个between 20 and 25 green和0-20 blue?
ggplot具体可以这样做吗?
您分两步执行此操作:
首先,定义应具有不同颜色的组; 通过向数据框或内部添加另一列aes.我会aes在这里用:
aes(wt, mpg, color = cut(mpg, breaks = c(0, 20, 25, Inf)))
Run Code Online (Sandbox Code Playgroud)
其次,通过指定手动颜色或填充比例:
scale_color_manual(values = c('blue', 'green', 'red'),
limits = c('(0,20]', '(20,25]', '(25,Inf]'))
Run Code Online (Sandbox Code Playgroud)
这指定了要使用的颜色(values)以及将它们分配给(limits)的标签; 这些是由生成的分组的名称cut.
合在一起:
ggplot(mtcars) +
aes(wt, mpg, color = cut(mpg, breaks = c(0, 20, 25, Inf))) +
geom_point(size = 4) +
scale_color_manual(values = c('blue', 'green', 'red'),
limits = c('(0,20]', '(20,25]', '(25,Inf]'))
Run Code Online (Sandbox Code Playgroud)
您可以通过将分组作为单独的列添加到数据中,或通过提供guides函数调用来改进图例标题:
guides(color = guide_legend(title = 'mpg range'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |