Je veux utiliser l'hexbin de bioconductor (ce que je peux faire) pour générer un tracé qui remplit toute la région d'affichage (png) - pas d'axes, pas d'étiquettes, pas d'arrière-plan, pas de nuthin '.
theme_void()
Je veux utiliser l'hexbin de bioconductor (ce que je peux faire) pour générer un tracé qui remplit toute la région d'affichage (png) - pas d'axes, pas d'étiquettes, pas d'arrière-plan, pas de nuthin '.
theme_void()
Réponses:
Selon mon commentaire dans la réponse de Chase, vous pouvez supprimer beaucoup de ces éléments en utilisant element_blank
:
dat <- data.frame(x=runif(10),y=runif(10))
p <- ggplot(dat, aes(x=x, y=y)) +
geom_point() +
scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0))
p + theme(axis.line=element_blank(),axis.text.x=element_blank(),
axis.text.y=element_blank(),axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),legend.position="none",
panel.background=element_blank(),panel.border=element_blank(),panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),plot.background=element_blank())
Il semble qu'il y ait encore une petite marge autour du bord du .png résultant lorsque j'enregistre ceci. Peut-être que quelqu'un d'autre sait comment supprimer même ce composant.
(Note historique: depuis la version 0.9.2 de ggplot2 , opts
est obsolète. À la place, utilisez theme()
et remplacez theme_blank()
par element_blank()
.)
theme(axis.ticks=element_blank())
ne fonctionne pas aussi bien que theme(axis.ticks.x=element_blank())
, probablement un bug temporaire quelque part (j'ai mon propre jeu de thèmes, puis j'essaye de remplacer: seulement axis.ticks.x
et axis.ticks.y
faire le travail.)
Re: changer le thème, etc. (pour les paresseux):
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
Les réponses actuelles sont soit incomplètes, soit inefficaces. Voici (peut-être) le moyen le plus court d'atteindre le résultat (en utilisant theme_void()
:
data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
theme_void() + theme(legend.position="none")
Le résultat est:
Si vous souhaitez simplement éliminer les étiquettes , faites labs(x="", y="")
-le:
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
labs(x="", y="")
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) + theme_void() + theme(legend.position="none", panel.background = element_rect(fill="grey80"), plot.background = element_rect(fill="red"))
suggère que ce n'est pas 100% nul
labs(x="",y="")
laisse de l'espace pour les titres des axes car en fait il y a des titres, ils sont juste sans signes. Pour supprimer les titres des axes et l'espace pour eux, il est préférable d'utiliser+ theme(axis.title = element_blank())
labs(x = NULL)
ou xlab(NULL)
sont d'autres moyens.
'opts' is deprecated.
en cours d' ggplot2 >= 0.9.2
utilisation
p + theme(legend.position = "none")
xy <- data.frame(x=1:10, y=10:1)
plot <- ggplot(data = xy)+geom_point(aes(x = x, y = y))
plot
panel = grid.get("panel-3-3")
grid.newpage()
pushViewport(viewport(w=1, h=1, name="layout"))
pushViewport(viewport(w=1, h=1, name="panel-3-3"))
upViewport(1)
upViewport(1)
grid.draw(panel)
Error in UseMethod("grid.draw") : no applicable method for 'grid.draw' applied to an object of class "NULL"
Est-ce que cela fait ce que vous voulez?
p <- ggplot(myData, aes(foo, bar)) + geom_whateverGeomYouWant(more = options) +
p + scale_x_continuous(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0)) +
opts(legend.position = "none")