Ho alcuni dati che mostrano una relazione geometrica, ma hanno valori anomali. Per esempio:Impossibile impostare i limiti 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')
vorrei tracciare questo utilizzando un registro di trasformare e, mentre lo zoom su una parte dei dati. So che posso fare la prima parte con coord_trans(y='log10')
o la seconda parte con coord_cartesian(ylim=c(2,8))
, ma non sono riuscito a combinarli. Inoltre, ho bisogno di mantenere questi punti, quindi semplicemente ritoccandoli con scale_y_continuous(limits=c(2,8))
non funzionerà per me.
C'è un modo per realizzare questo senza dover ricorrere al seguente attacco terribile? Forse un modo non documentato per passare i limiti 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)))
Il mio male. Pensavo di averlo risolto, ma oggi non sto pensando esattamente. – joran
Se si guarda '+ .ggplot' è chiaro che si può applicare solo 1 oggetto coord proto alla volta. Più semplicemente sovrascrivi quelli più vecchi. – James
@James si certo. Sto cercando di impostare lims in coord_trans, che è difficile (non possibile?) Anche se è facile eseguirli entrambi individualmente ... –