我对情节很陌生,所以这可能是一个基本问题,我有一个简单的数据框:
id = c("01","02","03","04","05")
value = c(1:5)
data=data.frame(id,value)
当我使用plot_ly绘制它时:
require(plotly)
plot_ly(data,x=id,y=value)
plot_ly认为我的id变量是一个数字变量,所以在x轴上,我得到了分数1,1.5,2,2.5 ......这没有任何意义。
如果我想要plot_ly理解我的变量是一个字符,我必须添加一些非数字字符:
data$id = paste0("n",id)
plot_ly(data,x=id,y=value)
这段代码给了我我想要的东西,但在我的身份之前有一个令人讨厌的“n”。
有什么想法吗?
没用说我使用ggplot没问题。
答案 0 :(得分:3)
基于此github issue,需要明确指定轴类型。
希望这会有所帮助。先前无视我错误的评论。
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")