2017-08-25 6 views
0

Salut,Plotly - Commande et coloriage par les variables du facteur et dans un graphique à barres

J'utilise plotly pour générer un graphique à barres commandé, qui montrerait des segments de clientèle sur l'axe X et le nombre de fréquences sur la Axe Y Le problème est, je veux également définir la couleur en fonction de la fréquence des segments.

J'utilise une trame de données avec 93 observations avec la même structure que celle-ci:

df <- data.frame(
     Segments = c("Pete", "Gary", "TopNews"...), 
     Frequency = c(4,2,5...) 
     ) 

Le problème

Comme prévu, R reconnu automatiquement la variable 'segments' en tant que facteur. Quand j'ai tracé le graphique la première fois, il s'est ordonné (comme prévu). J'ai utilisé le code suivant:

plot_ly(Segments2, y = ~Var1, x = ~Freq, type = "bar", orientation = 'h') 

Donc, ce n'était pas un problème, mais il devient un problème quand j'ai essayé de lier la couleur des barres à la variable « Freq », à savoir:

plot_ly(Segments2, y = ~Var1, x = ~Freq, type = "bar", color = ~Freq, orientation = 'h') 

Bien sûr, R imprimé l'erreur suivante:

‘range’ not meaningful for factors 

donc dans l'ensemble, ma question est: comment puis-je la couleur d'un tel tableau commandé à barres plotly en utilisant la fréquence comme la couleur séquentielle?

enter image description here

Répondre

1

Vous pouvez ajouter votre fréquence à color de l'objet .

enter image description here

library(plotly) 

df <- data.frame(
    Segments = c("Pete", "Gary", "TopNews", "Harry"), 
    Freq = c(4,2,5,3) 
) 

plot_ly(df, 
     y = ~Segments, 
     x = ~Freq, 
     type = "bar", 
     orientation = 'h', 
     marker = list(color = df$Freq, 
         showscale=T) 
     )