为什么我在曲线条形图中获得的顺序不同于我在x和y变量中定义的顺序.
例如
library(plotly)
plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar"
)
Run Code Online (Sandbox Code Playgroud)
我需要条形图,我看到的条形顺序与x变量(分类)相同.这有什么诀窍吗?
mto*_*oto 28
Plotly将按照提供的数据中的顺序对轴进行排序.在character按字母顺序排列的情况下; 如果因素按级别顺序排列.要覆盖此行为,你需要定义categoryorder和categoryarray对于xaxis内layout:
library(plotly)
xform <- list(categoryorder = "array",
categoryarray = c("giraffes",
"orangutans",
"monkeys"))
plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar") %>%
layout(xaxis = xform)
Run Code Online (Sandbox Code Playgroud)
Mar*_*rta 17
plotly按字母顺序排列.如果您想要更改它,只需尝试更改因子级别.如果您以data.frame这里的形式提供数据,这将是可能的:
library(plotly)
table <- data.frame(x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23))
table$x <- factor(table$x, levels = c("giraffes", "orangutans", "monkeys"))
plot_ly(
data=table,
x = ~x,
y = ~y,
name = "SF Zoo",
type = "bar"
)
Run Code Online (Sandbox Code Playgroud)
小智 9
reorder如果您想根据第二个变量进行订购,也可以使用:
library(plotly)
x <- c("giraffes", "orangutans", "monkeys")
y <- c(20, 14, 23)
plot_ly(
x = ~reorder(x,y),
y = ~y,
name = "SF Zoo",
type = "bar"
)
Run Code Online (Sandbox Code Playgroud)