Tengo algunos datos que muestran una relación geométrica, pero tienen valores atípicos. Por ejemplo:No se pueden establecer los límites con coord_trans
x = seq(0.1, 1, 0.01)
dat = data.frame(x=x, y=10^x)
dat[50:60, 2] = 10
qplot(x, y, data=dat, geom='line')
me gustaría trazar esta usando un registro de transformar y mientras está ampliada a una parte de los datos. Sé que puedo hacer la primera parte con coord_trans(y='log10')
, o la segunda parte con coord_cartesian(ylim=c(2,8))
, pero no he podido combinarlos. Además, necesito mantener estos puntos, por lo que simplemente los clipping con scale_y_continuous(limits=c(2,8))
no funcionarán para mí.
¿Hay alguna manera de lograr esto sin tener que recurrir al siguiente terrible truco? Tal vez una forma no documentada de pasar los límites a coord_trans
?
pow10 <- function(x) as.character(10^x)
qplot(x, log10(y), data=dat, geom='line') +
scale_y_continuous(breaks=log10(seq(2,8,2)), formatter='pow10') +
coord_cartesian(ylim=log10(c(2,8)))
Mi mal. Pensé que había resuelto eso, pero no estoy pensando en serio hoy. – joran
Si observa '+ .ggplot' está claro que solo puede aplicar 1 objeto coordin a la vez. Más, simplemente sobrescribe los más antiguos. – James
@James sí, por supuesto. Estoy tratando de establecer lims en coord_trans, lo cual es difícil (¿no es posible?) Aunque es fácil hacer ambas cosas individualmente ... –