- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码(作为示例),我想对其进行调整,以使功能区扩展到整个 xrange,如 geom_hline()
做。功能区指示哪些值在可接受的范围内。在我的实际应用程序中,有时没有上限或下限,因此 hline 本身不足以确定值是否在范围内。
library(ggplot2)
set.seed(2016-12-19)
dates <- seq(as.Date('2016-01-01'), as.Date('2016-12-31'), by = 1)
values <- rexp(length(dates), 1)
groups <- rpois(length(dates), 5)
temp <- data.frame(
date = dates,
value = values,
group = groups,
value.min = 0,
value.max = 2
)
ggplot(temp, aes(date, value)) +
geom_ribbon(aes(ymin = value.min, ymax = value.max), fill = '#00cc33', alpha = 0.6) +
geom_hline(aes(yintercept = value.min)) +
geom_hline(aes(yintercept = value.max)) +
geom_point() +
facet_wrap(~group)
x
在
geom_ribbon
至
dates
同样,但只有部分范围被填充。
geom_ribbon(aes(ymin = -Inf, ymax = 2, x = dates), data = data.frame(), fill = '#00cc33', alpha = 0.6)
Error in eval(expr, envir, enclos) : object 'value' not found
.即使它可以工作,随着 xlimits 的扩展,范围实际上仍然太窄。
最佳答案
这是一种方法:
ggplot(temp, aes(as.numeric(date), value)) +
geom_rect(aes(xmin=-Inf, xmax=Inf, ymin = value.min, ymax = value.max), temp[!duplicated(temp$group),], fill = '#00cc33', alpha = 0.6) +
geom_hline(aes(yintercept = value.min)) +
geom_hline(aes(yintercept = value.max)) +
geom_point() +
scale_x_continuous(labels = function(x) format(as.Date(x, origin = "1970-01-01"), "%b %y")) +
facet_wrap(~group)
as.numeric(date)
, 因为否则
Inf
和
-Inf
屈服
Error: Invalid input: date_trans works with objects of class Date only
scale_x_continuous
相应地贴上标签。 (尽管它们在这里并不准确。您可能希望通过使用确切的日期而不是月/年来调整它,或者使用
breaks
参数和例如
seq.Date
设置手动中断。)
temp[!duplicated(temp$group),]
以避免过度绘制,从而保持所需的 alpha 透明度。
关于r - 是否可以将 geom_ribbon 扩展到 xlimits?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41220434/
嗨,我得到了一个具有以下结构的数据框weekly.mean.values: week:mean:ci.lower:ci.upper 其中周是一个因素; mean、ci.lower 和 ci.upper
我希望绘制两个时间序列,并根据当时哪个系列较大来对系列之间的空间进行着色。 这是两个系列——首先在一个数据框中,其中包含当时较大的系列的指示符 d1 <- read.csv("https://dl.d
我用 geom_line 和 geom_ribbon 创建了一个图(图 1),结果还不错,但为了美观,我希望线条和丝带更平滑。我知道我可以使用 geom_smooth 作为线条(图 2),但我不确定是
我有以下ggplot2绘制从第三个四分位数到第 97 个四分位数的功能区的代码: h <- ggplot(l, aes(x=age[limit])) h <- h + geom_ribbon(aes(
鉴于以下数据: df<-data.frame( year=(1996:2000), a=c(2,1.5,1.5,2,3), b=c(2,2,2,3,4), c=c(2,3,3,1,1)
我想绘制一个 geom_ribbon()在那里我根据变量来设置波段的颜色。 例子: library(dplyr) library(ggplot2) df <- tribble( ~year, ~l
我正在跟进讨论开始于:How can I make geom_area() leave a gap for missing values? .似乎 geom_ribbon 不再为缺失值留下空白。请尝试
我正在尝试在 ggplot2 中为色带着色。使用 geom_ribbon 时,我可以指定 ymin 和 ymax 以及填充颜色。它现在所做的是为 ymin 和 ymax 之间的所有内容着色,而不考虑上
这段代码抛出一个错误,我不知道为什么... library( plyr ) library( ggplot2 ) library( grid ) library( proto ) # the mast
我正在尝试根据 x 值对 geom_ribbon 使用不同的填充(对于 Temp = 0-20 一个填充,20-30.1 另一个填充和 > 30.1 另一个填充)。我正在使用以下代码 library(
我想删除使用 geom_ribbon 创建的图例中的填充。注意 these answers不要解决这个特定问题。 最小工作示例 library(ggplot2) library(ggeffects)
对先前提出的问题 ( Plotting depth range in 'time-series' using ggplot ) 进行跟进,但完全相同。 使用 ggplot 我想要一个图来显示特定个体(
我正在处理来自所有 50 个州的数据。我正在尝试绘制小型多折线图,其中一条线是州(蓝色),另一条线是全国平均水平(灰色)。 这是缅因州的一个例子: 这是我的缅因州数据框的样子: 我试图将州界线低于全国
我有以下代码(作为示例),我想对其进行调整,以使功能区扩展到整个 xrange,如 geom_hline()做。功能区指示哪些值在可接受的范围内。在我的实际应用程序中,有时没有上限或下限,因此 hli
我在回答 this question ,这需要绘制平滑区域,但删除“无用”区域。在一个简单的 geom_area 上做到这一点(不流畅),我只用 geom_ribbon与 aes(ymax=y, ym
使用 highcharter , 有没有办法复制 geom_ribbon形成 ggplot2? 最佳答案 是的,它叫做arearange。您可以查看 https://cran.r-project.or
我想重现 ggplot 样式,使用带状的值显示置信区间,例如 geom_ribbon 或 geom_smooth。 我尝试分别计算置信区间并使用 fill_between() 进行绘图,这很接近但似乎
我正在尝试使用 绘制一些具有“置信区间”的数据的 ECDF,通过阴影区域表示。 ggplot2 .我在合并时遇到问题 geom_ribbon()与 stat_ecdf()达到我追求的效果。 考虑以下示
我正在使用 ggplot,并试图将一个简单矩形形式的功能区添加到我拥有的条形图中。这个想法是显示低于某个值的截止值。 条形图很好,但我不能完全正确地使用功能区 - 我希望它显示得更宽一些,但它似乎仅限
如何将 y=0 和数据点之间的区域着色为绿色?目前它正在为整个 y [0:1] 着色 Variable 0) { outx <- c(outx, x[i]) outy <- c
我是一名优秀的程序员,十分优秀!