r - ggplot2中给定不同方程线的彩色背景
问题描述
我有一个如下所示的情节:
set.seed(1)
df=data.frame(x=runif(100)*10,y=runif(100)*10)
ggplot(df, aes(x=x, y=y) ) + geom_point() + theme_classic2()+
geom_abline(intercept = 4, slope = 2, color="gray",linetype="dotted")+
geom_abline(intercept = -3, slope = 2, color="gray",linetype="dotted")
我希望根据下图中显示的内容对虚线上方/之间/下方的区域进行分级。我可以尝试什么?
解决方案
我认为您只需要计算出各个多边形的坐标并将它们放在您的点下:
library(ggplot2)
library(survminer)
#> Warning: package 'survminer' was built under R version 3.6.3
#> Loading required package: ggpubr
#> Loading required package: magrittr
set.seed(1)
df <- data.frame(x = runif(100) * 10, y = runif(100) * 10)
ggplot(df, aes(x = x, y = y)) +
geom_polygon(data = data.frame(x = c(0, 0, 20, 20), y = c(4, 44, 64, 44)),
fill = "green") +
geom_polygon(data = data.frame(x = c(0, 0, 20, 20), y = c(-3, 4, 44, 37)),
fill = "yellow") +
geom_polygon(data = data.frame(x = c(0, 0, 20, 20), y = c(-20, -3, 37, -20)),
fill = "orange") +
geom_point() +
theme_classic2() +
geom_abline(intercept = 4, slope = 2, color = "gray", linetype = "dotted") +
geom_abline(intercept = -3, slope = 2, color = "gray", linetype = "dotted") +
coord_cartesian(xlim = c(0, 10), ylim = c(0, 10))
由reprex 包(v0.3.0)于 2020-05-13 创建
推荐阅读
- java - 当用户单击其中的卡片时,我有一个活动,它会转到一个片段..并返回该活动如何销毁该片段?
- splunk - 如何在 Splunk 仪表板面板中显示事件(行)计数
- amazon-web-services - 如何使用 cloudwatch 指标计算上个月 AWS 中的 lambda 调用总数?
- python-3.x - Pycharm 类型提示警告类而不是实例
- javascript - 是否可以使用引用作为反应组件的道具或状态?
- javascript - 如何将 JavaScript 符号转换为没有“符号(”前缀的字符串?
- python - 模板中的 Django POST 请求(没有表单或更好的解决方案)
- php - mkdir(): 不是目录 PHP
- android - 如何在现有的自定义视图上绘制一些东西?
- logging - 如何禁用出现在控制台上的点燃横幅?