2015-08-19 14 views
6

Sono nuovo per la trama e non sono in grado di trovare la documentazione pertinente su come denominare le tracce in modo che un'etichetta significativa appaia nella trama resa da ggplotly. Ecco lo ggplotly site che mostra un numero di esempi. Ciò che è necessario visualizzare un'etichetta significativo sulla presso anziché il valore seguito da TRACE0, Traccia1, eccggplotly - R, etichettatura nomi di traccia

Ad esempio, nella prima trama, come possono apparire le etichette in modo che mostra:

Proporzione: Valore

fattura totale: valore

Idealmente, vorrei farlo direttamente in R piuttosto che attraverso l'interfaccia web. Grazie in anticipo.

risposta

4

È inoltre possibile modificare una qualsiasi delle proprietà figura plotly dopo la conversione ggplot2 ma prima di inviare a plotly. Here is an example che modifica manualmente i nomi delle voci della legenda. Lo ripeto qui:

df <- data.frame(x=c(1, 2, 3, 4), y=c(1, 5, 3, 5), group=c('A', 'A', 'B', 'B')) 
g <- ggplot(data=df, aes(x=x, y=y, colour=group)) + geom_point() 

# an intermediate step that `ggplotly` calls 
p <- plotly_build(g) 

# manually change the legend entry names, which are "trace0", "trace1" in your case 
p$data[[1]]$name <- 'Group A' 
p$data[[2]]$name <- 'Group B' 

# send this up to your plotly account 
p$filename <- 'ggplot2-user-guide/custom-ggplot2' 
plotly_POST(p) 

The extended example here spiega più in dettaglio come e perché funziona.

Si noti che in generale i nomi delle voci della legenda, ad es. "trace0", saranno le etichette che hai raggruppato nel dataframe (come in ggplot2).

+0

questo è goffo ma funziona. Grazie – marbel

8

Utilizzando ggplot2 e Plotly è possibile impostare text. Ti consigliamo di install Plotly and get a key. Ecco due esempi. Esempio uno:

data(canada.cities, package="maps") 
viz <- ggplot(canada.cities, aes(long, lat)) + 
    borders(regions="canada", name="borders") + 
    coord_equal() + 
    geom_point(aes(text=name, size=pop), colour="red", alpha=1/2, name="cities") 
    ggplotly() 

ggplotly(filename="r-docs/canada-bubble") 

questo produce this plot con il nome della città canadesi sul passaggio del mouse.

enter image description here

Esempio due:

install.packages("gapminder") 
library(gapminder) 

ggplot(gapminder, aes(x = gdpPercap, y = lifeExp, color = continent, text = paste("country:", country))) + 
geom_point(alpha = (1/3)) + scale_x_log10() 

ggplotly(filename="ggplot2-docs/alpha-example") 

che produce this plot.

enter image description here

Per ulteriori informazioni, vedere il nostro R docs o this question su come sovrascrivere l'elemento hover_text. L'API R nativa di Plotly ti consente di aggiungere more controls ai tuoi grafici. Grazie per avermelo chiesto. Aggiungeremo una nuova sezione ai nostri documenti anche su questo. Disclaimer: lavoro per Plotly.