Добавить пустые классы к гистограмме в ggplot2 - PullRequest
0 голосов
/ 26 марта 2020

У меня есть следующий R код:

x<-runif(1000,0,33)
df1 <- data.frame(x)
df2<-data.frame(x=c(180,660))
df<-rbind(df1,df2)
eigenv<-c(runif(998,0,60),173,653)
df_rug <- data.frame(eigenv)
df$mask<-0
df$mask[df$x > 60 ] <- 1
df$mask[df$x > 640 ] <- 2
df_rug$mask<-c(rep(0,998),1,2)
require(ggplot2)
ggplot(df, aes(x = x))+
geom_histogram(aes(y=..density..),bins=20,color='black',fill='white')+
scale_x_continuous(breaks=c(seq(0,60,20),160,180,660))+
geom_rug(data = df_rug, aes(x = eigenv, y = Inf), color = 'red', sides = 'b')+
facet_grid(.~mask,scales='free', space='free')+
xlab('eigenvalues')+
theme(strip.background = element_blank(), strip.text.x = element_blank())

Код создает следующий график: enter image description here

Мне пришлось создать 2 последние панели, потому что последние 2 значения eigenv - это экстремальные значения, которые я хочу поместить на график гистограммы с разрезом по шкале x. Тем не менее, код помещает 2 полосы с высокой плотностью в две последние панели, но я не хочу эти полосы, так как я хочу плотность 0 для этих панелей. Есть ли способ достичь этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...