2012-11-06 8 views
9

Ich habe das Paket directlabels für die dynamische Positionierung der Etiketten einer Handlung wirklich genossen. Obwohl es immer noch nicht perfekt ist, hilft es einigermaßen, Überlappungen zwischen den Bezeichnungen von Streudiagrammen mit vielen Punkten zu vermeiden, insbesondere für die Entwurfsversion der Diagramme, nicht für die endgültigen.Etikettengröße in Directlabels geom_dl()

Allerdings kann ich nicht finden, um die Etikettengröße bei Verwendung geom_dl() Funktion zu ändern. Gibt es irgendeinen Weg?

Ich habe versucht, size und cex als normales oder aes() Argument der Funktion zu übergeben.

+0

reproduzierbaren Beispiel, bitte. – metasequoia

Antwort

9

Setzen Sie cex in eine Liste. Andere Formatierungsfunktionen sollten ebenfalls in der Liste platziert werden. Sehen Sie einige der Beispiele in ?directlabels::geom_dl

library(ggplot2) 
library(directlabels) 

dat = data.frame(x = 1:10, y = 1:10, z = letters[1:10]) 

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list(cex = 2, rot = -45, hjust = -.5)) 

enter image description here

EDIT

Die zu Methode in der Liste platziert wird:

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list("smart.grid", cex = 2)) 
+1

Danke, wenn ich versuche, geom_dl (aes (label = z), method = "smart.grid", Liste (cex = 1, rot = -45, hjust = -.5)), es sagt: Fehler: ggplot2 weiß nicht, wie man mit Daten der Klassenliste umgeht. Würdest du es bitte lösen? – Ali

+0

@AliSharifi, '" smart.grid "' geht auch in die Liste: 'geom_dl (aes (label = z), Liste (" smart.grid ", cex = 2))' –

Verwandte Themen