r - 使用 geom_rec 的 ggplot 中的矩形颜色
问题描述
我想要两个矩形 1- xmin=0.3,xmax=.7, ymin=5, ymax=100 带有一点深灰色 2- xmin=0.3,xmax=.7, ymin=3, ymax=5 带有浅灰色
我使用了以下但我无法得到我需要的东西。
p[[1]] <-ggplot(mat_ind, aes(x = times1, y = mat_ind[,1])) +
geom_line() +ylab("") +
xlab("") + ylim(-6,100)+xlim(0.3,.7)+ theme(panel.grid = element_blank(),
axis.title = element_blank(),
axis.text.x = element_blank(),
plot.margin=unit(c(1,-1,0,0),"cm"))+theme_bw()+
geom_rect(data=mat_ind, inherit.aes=FALSE,
aes(xmin=0.3,xmax=.7, ymin=5, ymax=100, fill="gray45"), alpha=0.01 )+
geom_rect(data=mat_ind, inherit.aes=FALSE,
aes(xmin=0.3,xmax=.7, ymin=3, ymax=5, fill= "grey"), alpha=0.01 )
请你引导我这样做。
解决方案
我们没有您的数据,但让我们创建一些具有相同名称的数据:
times1 <- seq(0.3, 0.7, length.out = 100)
mat_ind <- as.data.frame(matrix(cumsum(runif(100)), ncol = 1))
如果你想添加特定的矩形作为注解,你应该使用annotate
而不是geom_rect
. 否则,您可能会得到多个矩形副本:
library(ggplot2)
ggplot(data = mat_ind, aes(x = times1, y = mat_ind[,1])) +
geom_line() +
annotate("rect", xmin = 0.3, xmax = .7, ymin = 5, ymax = 100,
fill = "gray45", alpha = 0.5) +
annotate("rect", xmin = 0.3, xmax = .7, ymin = 3, ymax = 5, fill= "grey",
alpha = 0.5) +
xlab("") +
ylab("") +
ylim(-6,100) +
xlim(0.3,.75) +
theme_bw() +
theme(panel.grid = element_blank(),
axis.title = element_blank(),
axis.text.x = element_blank(),
plot.margin = unit(c(1, -1, 0, 0), "cm"))
由reprex 包(v0.3.0)于 2020-12-07 创建
推荐阅读
- python - 如何更改 Pandas 查找自己文件的位置(特别是 parsers.pyx)?
- python - 使用延续令牌连接到 azure-datalakes 时出错
- azure-language-understanding - LUIS 中的问题
- html - 如何使用 *ngFor 下面提到的附图
- angular - 如何动态添加垫扩展面板?
- sql-server - 按订单金额计算销售数量
- jhipster - 如何在 JHipster(版本 6.0.1)中配置 oauth2?
- javascript - 如何识别真正的点击
- fortran - Fortran(重新)分配分配和 gfortran 警告
- android - EditText 在 RecyclerView 上丢失其内容。如何恢复其内容?