Ggplot2 anderes Alpha-Verhalten

9

Ich habe vor kurzem auf die R-Version 3.2.3 und auch auf die ggplot-Version 2.0.0 aktualisiert.

Beim Versuch, alten Code auf die neueren Versionen zu aktualisieren, ist mir ein merkwürdiges Verhalten mit ggplot2 und seinen Transparenzeinstellungen aufgefallen.

Nun ist meine Frage, ist das ein Fehler oder eine Funktion (wenn ja, kann mir jemand erklären, warum es gut ist, es so zu haben)? Das Ergebnis, das ich haben möchte, ist (offensichtlich) Handlung 2.

Sagen Sie, ich zeichne eine Linie und lege ein Rechteck mit Transparenz darüber:

%Vor%

Nach meinem Verständnis sollten Handlung 1 und 2 identisch sein. Allerdings bekomme ich folgende Plots:

Plot 1:

und Plot 2:

Zusätzlich, wenn ich mit den alpha -Werten herumspiele (zum Beispiel, wenn ich sie auf 0.01 setze, erhalte ich die zwei folgenden Plots:

und

    
David 25.01.2016, 12:46
quelle

1 Antwort

2

Ich glaube, dass das Aufrufen von geom_rect ohne einen data -Parameter effektiv ein einzelnes Rechteck für jede Zeile von data.frame zeichnet, weshalb alpha "funktioniert", aber nicht ganz wie erwartet. Ich war nicht in der Lage zu replizieren und zu Parität / Übereinstimmung zwischen den Methoden zu kommen, aber wie Sie angemerkt haben, denke ich, dass es etwas in Richtung der Zeichnung von 100 einzelnen Rechtecken oder 30 (die Breite der Rechtecke; von 20 bis 50) weshalb alpha = 0.1 / 100 und alpha = 0.1 / 30 dich näher bringen, aber nicht ganz übereinstimmen.

Unabhängig davon würde ich wahrscheinlich annotate verwenden, da dies das Verhalten / Ergebnis, das Sie ohne Probleme erreichen wollen, besser beschreibt, als erwartet, in beiden Fällen - annotations zeichnet eine einzelne Instanz pro geom :

%Vor%     
JasonAizkalns 25.01.2016, 13:51
quelle

Tags und Links