Ich möchte das Hexbin des Bioleiters verwenden (was ich tun kann), um ein Diagramm zu erstellen, das den gesamten (PNG-) Anzeigebereich ausfüllt - keine Achsen, keine Beschriftungen, kein Hintergrund, kein Nuthin.
theme_void()
Ich möchte das Hexbin des Bioleiters verwenden (was ich tun kann), um ein Diagramm zu erstellen, das den gesamten (PNG-) Anzeigebereich ausfüllt - keine Achsen, keine Beschriftungen, kein Hintergrund, kein Nuthin.
theme_void()
Antworten:
Gemäß meinem Kommentar in Chases Antwort können Sie viele dieser Dinge entfernen, indem Sie 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())
Es sieht so aus, als ob sich am Rand der resultierenden .png noch ein kleiner Rand befindet, wenn ich dies speichere. Vielleicht weiß jemand anderes, wie man sogar diese Komponente entfernt.
(Historische Anmerkung: Seit ggplot2 Version 0.9.2, opts
ist veraltet Stattdessen verwenden. theme()
Und ersetzen theme_blank()
mit element_blank()
.)
theme(axis.ticks=element_blank())
funktioniert es nicht so gut wie theme(axis.ticks.x=element_blank())
wahrscheinlich ein vorübergehender Fehler irgendwo (ich habe mein eigenes Themenset, dann versuche ich zu überschreiben: nur axis.ticks.x
und axis.ticks.y
mache den Job.)
Betreff: Ändern der Optionen zum Thema usw. (für faule Leute):
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())
Aktuelle Antworten sind entweder unvollständig oder ineffizient. Hier ist (vielleicht) der kürzeste Weg, um das Ergebnis zu erzielen (mit theme_void()
:
data(diamonds) # Data example
ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar(aes(fill = cut)) +
theme_void() + theme(legend.position="none")
Das Ergebnis ist:
Wenn Sie nur die Etiketten entfernen möchten , gehen Sie wie labs(x="", y="")
folgt vor:
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"))
schlägt vor, dass es nicht 100% nichtig ist
labs(x="",y="")
lässt Leerzeichen von Achsentiteln, da es tatsächlich Titel gibt, die nur ohne Vorzeichen sind. Um + theme(axis.title = element_blank())
labs(x = NULL)
oder xlab(NULL)
sind andere Wege.
'opts' is deprecated.
in ggplot2 >= 0.9.2
Gebrauch
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"
Macht das was du willst?
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")