2017-04-17 1 views
2

Je fais des parcelles comme la corrélation à matrice en utilisant levelplot similaire à celle (tirée de: Plot correlation matrix into a graph):Comment ajouter des étiquettes en haut de l'axe X de Levelplot dans le paquet treillis

library(lattice) 

#Build the horizontal and vertical axis information 
hor <- c("214", "215", "216", "224", "211", "212", "213", "223", "226", "225") 
ver <- paste("DM1-", hor, sep="") 

#Build the fake correlation matrix 
nrowcol <- length(ver) 
cor <- matrix(runif(nrowcol*nrowcol, min=0.4), nrow=nrowcol, ncol=nrowcol, dimnames = list(hor, ver)) 
for (i in 1:nrowcol) cor[i,i] = 1 

#Build the plot 
rgb.palette <- colorRampPalette(c("blue", "yellow"), space = "rgb") 
levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01)) 

Je voudrais ajouter des étiquettes à chacune des tiques supérieures (secondaires) de l'axe des x. Est ce que quelqu'un sait comment accomplir cela?

Merci,

Kai

Répondre

1

Vous pouvez le faire en ajoutant scales=list(alternating=3) à votre appel de levelplot

Si vous regardez l'aide pour levelplot, pour certaines informations, vous êtes invités à consulter xyplot (et d'autres). Il est dans la page d'aide xyplot, vous trouverez une description de scales et alternating. Alternatif contrôle l'emplacement des étiquettes de graduation et peut prendre 4 valeurs:

  • 0 (none),
  • 1 (bas/gauche),
  • 2 (haut/droite),
  • 3 (tous les deux).

Voici l'appel à levelplot qui vous donne les tiques sur tous les côtés:

levelplot(cor, main="stage 12-14 array correlation matrix", xlab="", ylab="", col.regions=rgb.palette(120), cuts=100, at=seq(0,1,0.01), scales=list(alternating=3)) 
+0

Merci! Cette solution a dupliqué mon axe x primaire sur l'axe x secondaire. Je voudrais réellement afficher un ensemble différent d'étiquettes sur l'axe x secondaire. Est-ce possible? – foxandsticks

+1

@foxandsticks Mon plaisir! En ce qui concerne votre dernière question, je dois enquêter là-dessus, et je n'ai pas le temps aujourd'hui. Je vous suggère ** d'ouvrir une nouvelle question **, avec des données et du code, et avec une description de ce que vous avez déjà découvert/résolu (comme ci-dessus). De cette façon, vous pouvez attirer l'attention d'autres personnes. Je vais augmenter votre nouvelle question quand je la vois passer. Bonne chance! – KoenV

+0

Merci beaucoup @KoenV! Une nouvelle question a été postée ici: http://stackoverflow.com/questions/43526149/add-different-labels-to-secondary-x-axis-of-levelplot-in-lattice-in-r – foxandsticks