2016-01-24 14 views
8

Betrachten Sie dieses Beispiel:Set alpha und Entfernen von schwarzen Umriss Dichte Plots in ggpairs

data(tips, package = "reshape") 
library(GGally) 
pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip")) 
pm 

enter image description here

Wie kann ich die Dichte Plots transparenter und die schwarzen Linien entfernen?

Die GGally Pakete scheinen in letzter Zeit viel geändert zu haben, und ich kann eine funktionierende Lösung

Update

fand ich nicht gefunden, wie die Alpha mit einer benutzerdefinierten Funktion zu ändern:

my_dens <- function(data, mapping, ..., low = "#132B43", high = "#56B1F7") { 
    ggplot(data = data, mapping=mapping) + 
    geom_density(..., alpha=0.7) 
} 

pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip"), 
       diag=list(continuous=my_dens)) 
pm 

aber die schwarze Linie bleibt noch.

+1

Haben Sie [die Vignette] (https://cran.r-project.org/web/packages/GGally/vignettes/ggpairs.html) überprüft? Spielen Sie insbesondere mit den Beispielen in "Matrix Sections"/"Benutzerdefinierte Funktionen" oder "Plot Matrix Subsetting" und zeigen Sie uns Ihre Versuche. – Henrik

+3

Sie sind fast da! Setzen Sie einfach 'color' auf' NA', um die Linien loszuwerden. 'my_dens <- Funktion (Daten, Mapping) { ggplot (Daten = Daten, Mapping = Mapping) + Geom_Dichte (Alpha = 0,5, Farbe = NA) }'. In Ihrem Fall sind die Argumente "low" und "high" redundant, da Sie 'scale_fill_gradient' nicht verwenden (wie im Beispiel). Fühlen Sie sich frei, Ihr "Update" als Antwort zu schreiben. – Henrik

+0

@Henrik perfekt, danke – spore234

Antwort

10

dank @Henrik dies die Lösung ist eine benutzerdefinierte Funktion

my_dens <- function(data, mapping, ...) { 
    ggplot(data = data, mapping=mapping) + 
    geom_density(..., alpha = 0.7, color = NA) 
} 

pm <- ggpairs(tips, mapping = aes(color = sex), columns = c("total_bill", "time", "tip"), 
       diag = list(continuous = my_dens)) 
pm 

enter image description here

Beispiele auf, wie ggpairs Plots anpassen Verwendung in the vignette gefunden werden kann. Siehe "Matrix Sections" und "Plot Matrix Subsetting".

+0

Ich kenne die Antwort wenn über ein Jahr alt, aber es scheint nicht mehr zu funktionieren. Wenn ich den Code kopiere, erhalte ich nur leere Dichten. – MLEN

+0

Versuchen Sie, statt Farbe Füllung zu verwenden. – SwatchPuppy

+0

@MLEN diese Antwort funktionierte für mich - [ähnliche Frage hier] (https://stackoverflow.com/questions/34727408/edit-individual-ggplots-in-ggallyggpairs-how-do-i-have-the-density- Grundstück-nicht-f/34853734 # 34853734) – JimLohse