2012-06-19 10 views
5

Sto provando a tracciare alcune linee di supporto/resistenza su quantmod :: chart_Series(). Il problema è che le interessanti linee di supporto/resistenza sono al di fuori dell'intervallo di dati di serie (al di sotto o al di sopra) fino all'ora corrente (vorrei anche estendere un grafico un po 'a destra oltre l'ultimo timestamp dei dati).Sovrascrivere la scala y e la scala x utilizzando xlim/ylim o xrange/yrange in quantmod :: chart_Series() - impossibile?

Guardando il codice sorgente di quantmod :: chart_Series() non vedo alcun modo di specificare ylim/xlim o, ciò che era possibile in "i vecchi tempi" con quantmod :: chartSeries usando yrange per sovrascrivere la scala y. Il commento qui https://r-forge.r-project.org/scm/viewvc.php?view=rev&root=quantmod&revision=520 sta anche confortando la mia impressione ...

La mia diagnosi è corretta o esiste forse un modo che consenta l'override della scala Y in quantmod :: chart_Series? Qualche idea su come fare ciò che voglio molto apprezzato.

Grazie.

migliore, Samo

risposta

5

La pagina di aiuto per chart_Series() note - tre volte! - che è sperimentale, quindi presumibilmente l'eventuale versione lucidata avrà delle belle maniglie per fissare questi limiti.

Fino ad allora, ecco un trucco (?) Che vi permetterà di impostare i limiti e può insegnarti qualcosa su come chart_Series() opere (cioè con la creazione di un ambiente/chiusura della classe "replot", che memorizza tutte le informazioni necessario per creare un diagramma grafico).

## Create an example plot 
getSymbols("YHOO") 
myChob <- chart_Series(YHOO) 

## Plot it, with its default xlim and ylim settings 
myChob 


## Get current xlim and ylim settings for `myChob` (chob = chart object) 
myxlim <- myChob$get_xlim() 
myylim <- myChob$get_ylim() 

## Alter those limits 
myxlim <- c(1, 2000) 
myylim[[2]] <- structure(c(0, 50), fixed=TRUE) 

## Use the setter functions in the myChob environment to set the new limits. 
## (Try `myChob$set_ylim` and `ls(myChob$Env)` to see how/where these are set.) 
myChob$set_ylim(myylim) 
myChob$set_xlim(myxlim) 

## Plot the revised graph 
myChob 
+0

Perfetto. Thnx l'intuizione come farlo. – Samo

+0

Grazie! Il codice chart_Series() è piuttosto difficile da leggere, quindi è bello vedere alcuni esempi come questo. Cosa significa 'fisso = T'? 'fixed = F' fallisce per myylim [[2]], deve essere vero; ma per cambiare 'myxlim' sembra che possa essere vero o falso. Inoltre, cos'è myylim [1]? Vedo che giocare con esso sembra spostare il titolo, ma di nuovo fisso può essere vero o falso! –

Problemi correlati