So erstellen Sie ein standardmäßiges benutzerdefiniertes Design mit ggplot2 in R

8

Wenn ich versuche, ein benutzerdefiniertes Thema mithilfe von ggplot2 zu erstellen, wird ein Fehler wie folgt angezeigt:

%Vor%

Ich denke, ich muss hier etwas Grundlegendes vermissen (mein erster Versuch, benutzerdefinierte Designs zu erstellen). Das Thema wurde basierend auf theme_bw() erstellt:

%Vor%

Dann probiere es aus:

  

x & lt; - rnorm (10)

     

theme_set (theme_new ())

     

qplot (x)

Erhalte den obigen Fehler!

Allerdings:

  

theme_set (theme_bw ())

     

qplot (x)

Funktioniert gut!

Ich vermute, dass theme_update beschrieben in Dieser Stackoverflow-Post ist nicht dasselbe wie das Ändern des Standardthemas mit theme_set (). Wenn wir uns die neuen Themenrichtlinien in dieser Vignette ( Ссылка ) ansehen, ist mein Verständnis, dass man ENTWEDER braucht um alle Parameter des Themas anzugeben und das complete=TRUE zu verwenden, um dies zu sagen; ODER verwenden Sie den Operator %+replace% , um etwas zu einem alten Thema hinzuzufügen, wie theme_bw (). Erhalten Sie es nicht!

    
user3375672 10.12.2014, 12:23
quelle

1 Antwort

7

Ein kurzer Blick auf Ссылка verrät

  

Wenn Sie also den% + Operator% verwenden, um eine neue Design-Funktion zu erstellen, müssen Sie beim Ersetzen von Designelementen am Anfang der Vererbungshierarchie wie Text, Zeile und Rect sehr vorsichtig sein.

     

...

     

Beachten Sie, dass die in theme_bw ersetzten Designelemente in theme_grey () hauptsächlich NULL-Eigenschaften haben, da die meisten der Standardeigenschaften in den Elementen rect, line und text definiert sind und an ihre untergeordneten Elemente übergeben werden. Der% + replace% -Operator wird verwendet, um Nicht-NULL-Eigenschaften in den ausgewählten Elementen festzulegen, die in theme () angegeben sind, wobei alle nicht deklarierten Eigenschaften auf NULL gesetzt sind.

Sie sollten also die Spezifikationen auskommentieren, einschließlich line , text , rect , da sie bereits in den übergeordneten Themen definiert wurden: theme_bw und theme_grey .

%Vor%

qplot(x) + theme_new() erzeugt das folgende Bild mit einer Reihe von Warnungen in Bezug auf die Schriftarten.  

Wenn es sich auf einer anderen Maschine befand, erzeugte es praktisch alle Plots, die ich ohne Warnungen probiert hatte, also schätze ich, es funktioniert! Zum Beispiel wird der zweite Satz von Plots in Ссылка wiedergegeben als

    
Khashaa 10.12.2014 13:23
quelle

Tags und Links