绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化

简介: 绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化

本文显示如何填充 图表中两条交叉线之间的区域。

让我们尝试用ggplot2绘制这个图 .

首先,加载 ggplot2 并生成要在示例中使用的数据框(我使用的是稍微修改过的数据集,因此最终结果会与原始图有所不同)。

在 ggplot2 中可以填充两条线之间的区域,但是由于我们需要线段具有不同的颜色,因此需要一些额外的工作。

> ggplot +
     geom_ribbon

为了改变两条线交叉点的填充颜色,需要计算交点。

slope1 <- c
intcpt1 <- with
intcpt2 <- with
x2 <- with
y3 <- with

现在,我们确保计算正确,我们目视检查交叉点的位置:

> ggplot+ geom_line +
     geom_line +
     geom_point

当我计划为上面使用 geom\_ribbon 生成的图着色时,交叉点也需要以 geom\_ribbon 的形式呈现——一个y3 复制变量就可以做到这一点。

y4 <- y3

显然还需要额外的错误检查,如上图最左边和最右边的绿点的位置所示——任何两条线都可以有一个交点,超出特定图的范围。

> cross\[which\] <- NA
>segment <- findIntval

为了使 ggplot2 能够在每个线条交叉处改变填充颜色,它需要知道每个彩色区域的起点和终点。因此需要复制中间的交叉点,因为它们将是两个相邻区域的一部分,填充了不同的颜色。

x3 <- c(tail, NA)
y5 <- c(tail, NA)
y6 <- y5

现在需要将两条线的坐标和彩色区域的起点/终点组合成一个长格式的数据帧。

> crs1 <- css
> cs2 <- cr\[!is.na\]
> co3 <- rss\[!is.na\]
> names(cos2) <- names
> names(cos3) <- names
> cmo <- rbind
> omo <- rbind
> ggplot(obo, aes) +
     geom_ribbon

每个区间都填充了不同的颜色,但我们希望将填充颜色的数量限制为两种。

> ggplot + geom_ribbon +
     geom_path + opts


相关文章
|
数据挖掘
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
1022 0
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
2031 1
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
|
域名解析 负载均衡 架构师
Nginx极简入门(六)配置Nginx负载均衡,提高系统并发性能!
前面讲了如何配置Nginx虚拟主机、如何配置反向代理。Nginx最主要的功能就是反向代理和负载均衡。今天要说的是如何配置nginx和tomcat实现反向代理。
Nginx极简入门(六)配置Nginx负载均衡,提高系统并发性能!
|
数据可视化
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
|
12月前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
Java 数据库连接 数据库
AI 时代风起云涌,Hibernate 实体映射引领数据库高效之路,最佳实践与陷阱全解析!
【8月更文挑战第31天】Hibernate 是一款强大的 Java 持久化框架,可将 Java 对象映射到关系数据库表中。本文通过代码示例详细介绍了 Hibernate 实体映射的最佳实践,包括合理使用关联映射(如 `@OneToMany` 和 `@ManyToOne`)以及正确处理继承关系(如单表继承)。此外,还探讨了常见陷阱,例如循环依赖可能导致的无限递归问题,并提供了使用 `@JsonIgnore` 等注解来避免此类问题的方法。通过遵循这些最佳实践,可以显著提升开发效率和数据库操作性能。
253 0
|
前端开发
前端input上传文件获取视频或音频的时长
前端input上传文件获取视频或音频的时长
619 0
|
存储 数据可视化 关系型数据库
绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据
绘制圆环图/雷达图/星形图/极坐标图/径向图POLAR CHART可视化分析汽车性能数据
|
数据采集 Web App开发 JavaScript
使用Puppeteer爬取地图上的用户评价和评论
在互联网时代,获取用户的反馈和意见是非常重要的,它可以帮助我们了解用户的需求和喜好,提高我们的产品和服务质量。有时候,我们需要从地图上爬取用户对某些地点或商家的评价和评论,这样我们就可以分析用户对不同地区或行业的态度和偏好。但是,如何从地图上爬取用户评价和评论呢?本文将介绍一种使用Puppeteer的方法,它是一个基于Node.js的库,可以控制Chrome或Chromium浏览器进行各种操作
290 0
使用Puppeteer爬取地图上的用户评价和评论
|
缓存 监控 中间件
深入剖析跨域请求发送两次的原因及解决方案(下)
深入剖析跨域请求发送两次的原因及解决方案(下)