Sto avendo un po 'di difficoltà a capire come ricreare il seguente grafico di un grafico spider (o radar), usando la trama. In realtà, non riesco nemmeno a ricrearlo nelle versioni più recenti di ggplot2 perché ci sono state interruzioni da 1.0.1.Posso ricreare questo grafico a punti di coordinate polari in grafico?
Ecco un esempio grafico:
Ecco la funzione originaria che ha costruito:
http://pcwww.liv.ac.uk/~william/Geodemographic%20Classifiability/func%20CreateRadialPlot.r
Ecco un esempio di come la funzione originale ha funzionato:
http://rstudio-pubs-static.s3.amazonaws.com/5795_e6e6411731bb4f1b9cc7eb49499c2082.html
.210Ecco alcuni dati non così dummy:
d <- structure(list(Year = rep(c("2015","2016"),each=24),
Response = structure(rep(1L:24L,2),
.Label = c("Trustworthy", "Supportive", "Leading",
"Strong", "Dependable", "Consultative",
"Knowledgeable", "Sensible",
"Intelligent", "Consistent", "Stable",
"Innovative", "Aggressive",
"Conservative", "Visionary",
"Arrogant", "Professional",
"Responsive", "Confident", "Accessible",
"Timely", "Focused", "Niche", "None"),
class = "factor"),
Proportion = c(0.54, 0.48, 0.33, 0.35, 0.47, 0.3, 0.43, 0.29, 0.36,
0.38, 0.45, 0.32, 0.27, 0.22, 0.26,0.95, 0.57, 0.42,
0.38, 0.5, 0.31, 0.31, 0.12, 0.88, 0.55, 0.55, 0.31,
0.4, 0.5, 0.34, 0.53, 0.3, 0.41, 0.41, 0.46, 0.34,
0.22, 0.17, 0.28, 0.94, 0.62, 0.46, 0.41, 0.53, 0.34,
0.36, 0.1, 0.84), n = rep(c(240L,258L),each=24)),
.Names = c("Year", "Response", "Proportion", "n"),
row.names = c(NA, -48L), class = c("tbl_df", "tbl", "data.frame"))
Ecco il mio tentativo (non molto buono)
plot_ly(d, r = Proportion, t = Response, x = Response,
color = factor(Year), mode = "markers") %>%
layout(margin = list(l=50,r=0,b=0,t=0,pad = 4), showlegend = TRUE)
Ogni pensiero su come potrei essere in grado di ricreare questo utilizzando plotly?
Sono curioso di sapere il motivo per cui il recente 'versione ggplot2' ha rotto il codice esistente. Oppure, per dirla diversamente, perché stai chiedendo una soluzione 'tratteggiata' e non per una correzione del tuo codice' ggplot2' esistente? – Uwe
@UweBlock Si basa sul codice che non capisco molto bene, che richiederà molto tempo per eseguire il debug e risolvere il problema. Il mio primo paio di tentativi con trama mi ha dato una soluzione molto vicina. Così ho pensato che qualcuno con più esperienza avrebbe visto la trama e forse sapeva come farlo. Ho incluso la funzione e un esempio di come è usato in un aggiornamento alla domanda di cui sopra. Sei invitato a provare a correggere il codice ggplot. –
hai provato a sostituire mode = "marker" con mode = "lines"? – MLavoie