相同的标题,完全重写了这个问题.
为什么alpha工作在第一个图而不是第二个?我很难理解为什么使用硬编码的值在正确的位置绘制rect而不是透明但是在data.frame中它按预期工作?
mtcars$cyl <- factor(mtcars$cyl)
mtcars$am <- factor(mtcars$am)
ggplot(mtcars) +
geom_density(aes(x=disp, group=cyl, fill=cyl), alpha=0.6, adjust=0.75) +
geom_rect(data=data.frame(xmin=100, xmax=200, ymin=0, ymax=Inf), aes(xmin=xmin, xmax=xmax, ymin=ymin,ymax=ymax), fill="red", alpha=0.2)
ggplot(mtcars) +
geom_density(aes(x=disp, group=cyl, fill=cyl), alpha=0.6, adjust=0.75) +
geom_rect(aes(xmin=100, xmax=200, ymin=0,ymax=Inf), fill="red", alpha=0.2)
Run Code Online (Sandbox Code Playgroud) 我想在我的情节和遇到的那几个改进alpha的geom_segment工作不正常。对于最小工作示例,请检查:
ggplot(mtcars, aes(hp, mpg)) +
geom_point() +
geom_segment(aes(x = 100, xend = 200, y = 20, yend = 20),
inherit.aes = FALSE,
size = 10,
alpha = 0.5,
color = "blue")
Run Code Online (Sandbox Code Playgroud)
但是,如果您将 alpha 更改为非常低的值,例如 0.005,则 0.001 似乎有效。您只能看到 0.05 到 0.001 之间的一些效果。
alpha 值不是应该在 0 和 1 之间以线性方式变化还是我理解不正确?
我在构面中绘制不同的时间序列,并且我想使用 annotate() 为其中一个构面创建不同的背景颜色。一个方面代表 2018 年的最后 15 周(第 38 - 52 周),而另一个方面代表 2019 年的前 15 周(第 1 - 15 周)。我想在 2019 年仅更改第 5-8 周的背景颜色。但是,当我尝试这样做时,R 会将 2018 年的 x 轴范围从第 38-52 周更改为第 1-52 周。
我试图在 2019 年的图中仅创建一个第 5-8 周的矩形,如下所示:
annotate("rect", xmin = 5, xmax = 8, min = 0, ymax = Inf, alpha = 0.3, fill="grey") +
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
library(ggthemes)
week <- c(38:52, 1:15)
minutes <- sample(160, 30, replace=T)
year <- c(rep(2018, 15), rep(2019,15))
dat <- data.frame(year, week, minutes)
ggplot(dat, aes(week, minutes, group=year)) …Run Code Online (Sandbox Code Playgroud)