【问题标题】:How to assign colors to a variable in plotly如何在plotly中为变量分配颜色
【发布时间】:2016-06-20 13:05:36
【问题描述】:

我在将颜色分配给 plotly 中的变量时遇到了一些问题。我希望将 TRUE 分配给红色,将 FALSE 分配给黑色。似乎发生的情况是第一个实例被分配给红色,所以如果我改变顺序,颜色也会改变。

x <- c(1, 2, 3)
y <- c(3, 5, -1)
z <- c(TRUE, FALSE, TRUE)
data <- data_frame(x, y, z)
plot_ly(data, x = x, y = y, type = "bar", color = z, colors = c("red", "black"))

然后我得到以下信息: Plot 1

但是当我重新排序变量时,我得到以下信息:

data %>% arrange(desc(y)) %>%
plot_ly (x = x, y = y, type = "bar", color = z, colors = c("red", "black"))

Plot 2

如您所见,TRUE 和 FALSE 的颜色发生了变化。有没有办法将每种颜色分配给每个变量,例如 TRUE = "red", FALSE = "black"?

【问题讨论】:

  • 这个怎么样? data[data$z == TRUE]$col &lt;- "red" data[data$z == FALSE]$col &lt;- "black"colors = data$col 在你的绘图函数中
  • 在这种情况下应该是什么颜色?现在应该是 z 还是 col ?它似乎不工作任何一种方式...
  • 或者你可以使用data$color &lt;- ifelse(z, "red", "black") 来获得一个包含颜色的列,然后你可以使用 data$color 代替 c("red","black")
  • 当我执行 data$col[data$z == TRUE] 并按 y 排列数据时它起作用(由于某种原因没有排列它不起作用)。谢谢!!

标签: r plotly


【解决方案1】:

当然为时已晚,但如果有人遇到同样的问题,这对我有用:

Global.df$color[Global.df$Region.of.Risk == "Others"] <-  "#E5E7E9" 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-17
    • 1970-01-01
    • 2020-11-24
    • 2013-12-26
    • 2019-11-22
    • 2020-07-12
    • 1970-01-01
    • 2019-02-04
    相关资源
    最近更新 更多