Я хочу ограничить видимый диапазон y моего участка. Чтобы сохранить значения, выходящие за пределы этого диапазона, мне нужно установить oob
(за пределы) до rescale_none
, и это хорошо работает.Клип линии для построения участка и отображения текста за пределами участка
Однако я также хотел бы добавить текст на полях за пределами участка. Для этого мне нужно отключить обрезку. Это приводит к тому, что значения, выходящие за пределы, отображаются за пределами области графика в полях.
Есть ли какой-либо текст для печати текста в полях и значения кликов для участка участка?
# Data
set.seed(1)
df <- data.frame(x=1:100,y=rnorm(100,mean=1,sd=1))
# Basic plot
library(ggplot2)
library(scales)
library(grid)
g <- ggplot(df)+
geom_line(aes(x,y))
# Values exceeding scale limits are dropped
g1 <- g + scale_y_continuous(limits = c(0,2))
# This is what I want
g2 <- g + scale_y_continuous(limits = c(0,2) , oob = rescale_none)
# ...But, I would like to plot some text outside the plotting region
# and need to turn off clipping to get the text to display...
g3 <- g + scale_y_continuous(limits = c(0,2) , oob = rescale_none) +
# Some text to sit above the plot
geom_text(aes(label = "Nonsense", y = Inf, x = 0), hjust = 0, vjust = -1) +
# Add some space for the text
theme(plot.margin = unit(c(2,1,1,1), "lines"))
# Turning off clipping makes geom_line also go outside plot area...
# See here for clipping... http://stackoverflow.com/a/12417481/1478381
g4 <- ggplot_gtable(ggplot_build(g3))
g4$layout$clip[g4$layout$name == "panel"] <- "off"
grid.draw(g4)
не coord_cartesian + отсечение сделать это – rawr
@rawr нет. Та же проблема. –
hm, единственное, что я сделал, это создать еще один сюжет с текстом и видом стека вместе. Я уверен, что волшебник @baptiste знал бы о чем-то – rawr