2010-09-14 11 views

Répondre

5

Il existe plusieurs façons d'accomplir votre requête. Le plus simple est:

trellis.device(color = FALSE) 

est une autre

ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme 
ltheme$strip.background$col <- "transparent" ## change strip bg 
lattice.options(default.theme = ltheme) ## set as default 

Voir ce mail article d'archive: Re: [R] specify lattice black-and-white theme pour plus d'informations.

15

Vous pouvez utiliser

library(lattice) 
lattice.options(default.theme = standard.theme(color = FALSE)) 

qui tourne sur convient pour l'impression en noir et blanc. J'ai également joué avec des choses comme

sb <- trellis.par.get("strip.background") 
sb[["col"]][1] <- "lightgray" 
trellis.par.set("strip.background", sb) 

qui change juste l'arrière-plan de l'en-tête.

Et je pensais que les gens ne demandaient que ggplot2 questions ici :) C'est bien de voir quelques lattice pour un changement.

+1

En effet, avec assez d'efforts, on peut convaincre les treillis pour produire des parcelles qui ont [peu à envier aux regards polis de ggplot2] (http: //latticeextra.r -forge.r-project.org/#layer&theme=ggplot2like). Il n'y a pas de thème en forme de grille pour ggplot2 que je connais. – baptiste

+1

Cela n'a pas fonctionné, du moins pas en mode org. J'ai dû utiliser 'trellis.par.set (canonical.theme (color = FALSE))' – Henrik

+0

@Henrik Même pour moi - merci de partager votre solution! – deca

9

Merci pour les réponses les gars! Cela m'a aussi aidé à trouver plus d'informations sur le sujet. J'ai appris que je peux contrôler les échelles de gris en utilisant par exemple les éléments suivants:

levelplot(my_var, col.regions = gray(0:100/100)) 

qui me donne 100 nuances de gris du noir (0) au blanc (1). J'utilise la fonction pour tracer des images à l'échelle de gris (photos) que j'ai pré-traitées à une matrice double. Je ne sais pas si c'est la meilleure approche possible, mais jusqu'à présent cela fonctionne et je crois que cela me donne plus d'options pour la représentation graphique que les options d'affichage de base dans les bibliothèques EBImage et rimage. Je ne sais pas comment je modifierais la palette pour faire correspondre des images couleur, mais je suis heureux que je n'ai pas eu à le faire si loin ...

+0

Si vous avez 256 niveaux de gris dans votre image (8 bits), peut-être gris (0: 255/255) serait plus proche de l'original? – Greg

+0

Hey, un bon conseil! Bien que dans le cas de mes images, je cesse de voir les différences avec des valeurs allant de 50. – user442446

2

Vous pouvez également envisager d'utiliser , as il réduit considérablement la taille de la figure, comme je l'ai récemment découvert. La combinaison de cette astuce avec la modification des paramètres de treillis en général, voici des exemples suivants:

trellis.par.set(regions=list(col=topo.colors(100))) 
levelplot(volcano, panel = panel.levelplot.raster) 

levelplot(volcano, panel = panel.levelplot.raster, 
      par.settings=list(regions=list(col=topo.colors(100)))) 

La deuxième méthode est trompeuse car les paramètres de treillis sont en fait changé globalement. Cependant, je ne connaissais pas l'argument col.regions - c'est plutôt sympa car cela semble changer le thème de couleur localement.

2

Le seul qui a fonctionné pour moi:

>trellis.par.set(canonical.theme(color = FALSE)) 
Questions connexes