我有类似于下面的数据,我定义了我的x轴categoryorder & categoryarray,这样我的x轴就不是按字母顺序排序了(见:a),已按规定订购(参见:(b)。
a <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar") %>%
layout(xaxis = list(title = "x"),
yaxis = list(title = "y"))
xform <- list(categoryorder = "array",
categoryarray = c("giraffes",
"orangutans",
"monkeys"))
b <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar") %>%
layout(xaxis = xform,
yaxis = list(title = "y"))
我的问题是,一旦我在layout()中写入"xaxis = xform",我就无法为x轴指定任何附加的美观性,除非顺序恢复到(a)中的顺序。例如,我无法添加x轴标题或更改x轴标签的字体大小。
我已经尝试了大量的垃圾邮件组合,即,尝试这个结果在没有x轴标题:
c <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar") %>%
layout(xaxis = xform,
xaxis = list(title = "x"),
yaxis = list(title = "y"))
...这将添加轴标题,但x轴现在的顺序错误:
d <- plot_ly(
x = c("giraffes", "orangutans", "monkeys"),
y = c(20, 14, 23),
name = "SF Zoo",
type = "bar") %>%
layout(xaxis = list(xform, title = "x"),
yaxis = list(title = "y"))
我无法通过搜索找到任何其他人有这个问题的例子,所以这可能是令人尴尬的直接-真的感谢任何帮助。
1条答案
按热度按时间xuo3flqw1#
请尝试
xaxis = append(xform, list(title = "x"))
或xaxis = c(xform, list(title = "x"))
。如果你在
layout
函数中多次使用一个参数,就像你在plot c中所做的那样,Plotly似乎只识别第一次使用的参数,而忽略重复的参数,因此你的图只有一个有序的x轴,而没有标题。在图d中,你创建了一个列表的列表,如果写出你的垃圾代码
xaxis = list(xform, title = "x")
,它看起来像这样:但你需要这样的结构:
因此,您希望使用
append
或c
函数而不是list
函数来追加列表xform
和list(title = "x")
。