12
votes

Highlight (ombre) Flot Fond en plage de temps spécifique

sur une parcelle générique, avec le temps sur l'axe des X, je voudrais mettre en évidence une période de certaines années spécifiques.

Comment puis-je le faire au mieux? Mon idée est par exemple une barre jaune légère pour les années en surbrillance, derrière l'intrigue bien sûr.

Le code de la parcelle J'ai maintenant: xxx

où Température $ bigemdim5 est la sortie de la décomposition du mode empericien. Les données sont en mois, je voudrais donc higlight 01/1950 jusqu'au 12/1950 par exemple.


4 commentaires

Pouvez-vous s'il vous plaît mettre les données quelque part ou ajouter une commande pour créer une simulation de données.frame afin que nous puissions réellement vous aider?


De plus, si vos données de l'axe X sont d'une classe POSIXCT, appelez «l'axe de l'axe (latéral = 1, à = tickpos) 'devrait faire et est un meilleur idiome que de forcer explicitement une expédition.


RCS: HM, peut-être que je suis gâté de trop de zoo et XTS . Cela échoue-t-il même lorsque vous utilisez la date au lieu de la résolution supérieure. posixct ? Quoi qu'il en soit, merci pour la tête!


@Dirk: oui, aussi des valeurs numériques lorsque date est utilisé


3 Réponses :


1
votes

Vous pouvez utiliser la fonction graphservies () code> dans Quantimod code> avec un XTS code> Etryeries et le addta () code> Fonction pour ajouter la surbrillance des antécédents:

addTA(xts(rep(TRUE,length(times)), times), on=-1, col="#333333", border=NA)


2 commentaires

Pour cette solution, je devrais changer de commandement de traçage, je suppose


Si vous souhaitez une réponse spécifique, vous devez donner plus de détails. Quelle est votre commande de traçage?



14
votes

Utilisation de la transparence alpha: xxx pré>

Entrez la description de l'image ici p>

ou de la région mise en surbrillance de la région derrière les lignes: P>

plot(x, y, type="n", xaxt="n")
rect(xleft=as.POSIXct("1950-01-01", tz="GMT"),
     xright=as.POSIXct("1950-12-01", tz="GMT"),
     ybottom=-4, ytop=4, col="lightblue")
lines(x, y)
idx <- seq(1, length(x), by=6)
axis(side=1, at=x[idx], labels=format(x[idx], "%Y-%m"))
box()


0 commentaires

6
votes

Voici une solution qui utilise zoo Tout simplement parce que cela rend le sous-ensemble facile. Vous pouvez également faire la même chose avec l'indexation standard également: xxx

text alt
(Source: EDDELBUETTEL.COM )

En utilisant PAR ("USR") Nous évitons la nécessité de valeurs explicites pour les marques de région supérieure et inférieure. Et le zoo indexation facilite la recherche des points de départ et de fin. Cela fonctionnerait de la même manière pour les données dans différentes résolutions de temps.


0 commentaires