2016-05-09 3 views
0

Ich bin ganz neu, dies plotly so ist wahrscheinlich eine grundlegende Frage, ich habe einen einfachen Datenrahmen habe:wie eine numerische Variable als Zeichen in plot_ly r Graphen verwenden

id = c("01","02","03","04","05") 
value = c(1:5) 
data=data.frame(id,value) 

Wenn ich es plot_ly mit Grundstück:

require(plotly) 
plot_ly(data,x=id,y=value) 

denken plot_ly meine id Variable eine numerische Variable ist, so auf der x-Achse, I Teilung 1 erhalten, 1,5, 2, 2,5 ..., die keinen Sinn macht.

Wenn ich will, dass plot_ly meine Variable verstehen ist ein Zeichen, ich einige nicht-numerischen Zeichen hinzufügen:

data$id = paste0("n",id) 
plot_ly(data,x=id,y=value) 

Dieser Code gibt mir, was ich will, aber whith ein disgracious „n“ vor meiner Ich würde.

Irgendwelche Ideen?

Nutzlos zu sagen, ich habe kein Problem mit ggplot.

+0

Funktioniert gut mit der neuesten Version von Plotly. Die CRAN-Version ist wahrscheinlich alt. Versuchen Sie die Installation von github 'devtools :: install_github (" ropensci/plotly ")' – royr2

+0

Haben Sie versucht, plot_ly (Daten, x = as.character (Daten $ ID), y = Wert) '? –

+0

@ royr2: ok danke, ich werde lieber warten, bis das Cran-Paket aktualisiert wird, nicht genug Motivation, um auf Github zu kommen :). – Malta

Antwort

2

Basierend auf dieser github issue muss der Achstyp explizit angegeben werden.

Hoffe, das hilft. Ignoriere meinen falsch informierten Kommentar früher.

library(plotly) 

df <- data.frame(x = c("A", "B", "C"), 
       y = 1:3) 

# Works fine 
plot_ly(df, x = x, y = y, mode = "markers") 

# Treated as numeric  
df <- data.frame(x = c("1000", "2000", "3000"), 
       y = 1:3) 

plot_ly(df, x = x, y = y, mode = "markers") 

# Force as a categorical axis 
plot_ly(df, x = x, y = y, mode = "markers") %>% layout(xaxis = list(type = "category")) 


# Treated as categorical 
df <- data.frame(x = c("1000A", "2000B", "3000C"), 
       y = 1:3) 

plot_ly(df, x = x, y = y, mode = "markers") 
+0

es funktioniert gut, danke! – Malta

Verwandte Themen