r - 为R中两条特定线之间的区域着色
问题描述
我正在尝试根据条件填充颜色,如果 x 值大于 y ,则为一种颜色,反之亦然。我有一个基于两条线的阶梯图,我需要显示颜色编码。
任何帮助将不胜感激。
geom_ribbon(data=df, aes(x = datetime,
ymin=min_value-10,
ymax=min_value-20,
fill=x > y)
我正在使用geom 功能区,颜色编码在日期时间序列中没有按预期工作。一种颜色完全掩盖了另一种颜色,并且不按逻辑工作。
解决方案
不久前我遇到了类似的问题。根据记忆,问题在于fill
美学不能在几何层内改变。我的解决方案是对数据集进行分区并分别绘制每个分区。
在没有测试数据的情况下...
library(tidyverse)
tibble(
x=seq(0, 1, 0.05),
ymin=1,
ymax=2,
z=x < 0.26 | x > 0.74
) %>%
ggplot() +
geom_ribbon(data=d %>% filter(z), aes(x=x, ymin=ymin, ymax=ymax, fill="red")) +
geom_ribbon(data=d %>% filter(!z), aes(x=x, ymin=ymin, ymax=ymax, fill="blue"))
推荐阅读
- numpy - 在 Pyomo 目标中使用 numpy 通用函数
- json - 火花跳过带有空值的json属性
- java - 用 SWING 在 java 中显示多张图片,并将它们分别放在同一个窗口中
- cypress - 如何在运行赛普拉斯测试时跳过 JavaScript 错误
- android - 将json传递给cakephp后端android studio
- c# - C# Ninjascript - NinjaTrader 8 (NT8) - 获取事件时间和日期的代码,然后在文本框中的图表上显示
- python - 使用 pycharm 在 googlemaps 上绘图
- python - RuntimeError:无法使用来自“CPU”后端的参数运行“aten::to_dense”
- python - 连胜数低于 0
- ansible - 在ansible中获取已安装包列表和所需包列表之间的差异列表