删除 ggplot2 中的空白图
Remove blank plot in ggplot2
我正在处理的另一个挑战,但没有成功...我有以下代码:
x<-c(seq(1,10,0.5),seq(50,60,0.5))
y<-runif(40)
df<-data.frame(x,y)
df$gender<-c(rep(0,19),rep(1,21))
r<-c(runif(50,0,10),runif(20,50,60))
df_rug<-data.frame(r)
library(ggplot2)
ggplot(df,aes(x,y))+geom_line()+
geom_rug(data = df_rug, aes(x = r, y = Inf), color = 'red', sides = 'b')+
facet_grid(.~gender,scales = "free")
产生以下情节:
我正在尝试删除左侧面板(从 x=10 开始)和右侧面板(在 x=50 下)的空白部分。我引入了 scales=("free")
选项,它在没有 geom_rug()
选项的情况下也能完美运行,但我需要保留 geom_rug()
的红色勾号。如何切割每个面板的空白部分?我尝试探索 element.blank()
选项,但没有成功...
在ggplot2
中,制作不连续的轴真的很难。
因为,我理解你的问题,你似乎有一些 gender = 0 和 gender = 1 的 rug 值。如果你在 df_rug
中添加一个额外的列 gender
,你将能够像使用 facet_grid
:
为 df
所做的那样,在 gender
的函数中分离 rug
df_rug<-data.frame(r, gender = c(rep(0,50),rep(1,20)))
library(ggplot2)
ggplot(df,aes(x,y))+geom_line()+
geom_rug(data = df_rug, aes(x = r, y = Inf), color = 'red', sides = 'b')+
facet_grid(.~gender,scales = "free")
它是否回答了您的问题?
我正在处理的另一个挑战,但没有成功...我有以下代码:
x<-c(seq(1,10,0.5),seq(50,60,0.5))
y<-runif(40)
df<-data.frame(x,y)
df$gender<-c(rep(0,19),rep(1,21))
r<-c(runif(50,0,10),runif(20,50,60))
df_rug<-data.frame(r)
library(ggplot2)
ggplot(df,aes(x,y))+geom_line()+
geom_rug(data = df_rug, aes(x = r, y = Inf), color = 'red', sides = 'b')+
facet_grid(.~gender,scales = "free")
产生以下情节:
我正在尝试删除左侧面板(从 x=10 开始)和右侧面板(在 x=50 下)的空白部分。我引入了 scales=("free")
选项,它在没有 geom_rug()
选项的情况下也能完美运行,但我需要保留 geom_rug()
的红色勾号。如何切割每个面板的空白部分?我尝试探索 element.blank()
选项,但没有成功...
在ggplot2
中,制作不连续的轴真的很难。
因为,我理解你的问题,你似乎有一些 gender = 0 和 gender = 1 的 rug 值。如果你在 df_rug
中添加一个额外的列 gender
,你将能够像使用 facet_grid
:
df
所做的那样,在 gender
的函数中分离 rug
df_rug<-data.frame(r, gender = c(rep(0,50),rep(1,20)))
library(ggplot2)
ggplot(df,aes(x,y))+geom_line()+
geom_rug(data = df_rug, aes(x = r, y = Inf), color = 'red', sides = 'b')+
facet_grid(.~gender,scales = "free")
它是否回答了您的问题?