R Plotly 饼图自定义颜色

标签 r colors pie-chart plotly

如果有人可以帮助我,我已经为这个问题苦苦挣扎了好几天。我有一个表数据,其中有一列“结果”,其值为“高”、“中”或“低”。我正在尝试通过计算数据集中的高、中和低的数量并尝试为每个类别分配颜色来使用 plotly 创建饼图。下面是我的代码。我尝试过 cols1 和 cols2 作为我的标记以及其他几种方法,但似乎没有任何效果。请记住,这是一个动态表,因此可能存在没有 High 或 Medium 等的情况,所以我不能使用 list(c("tomato","ornage","olivedrab") 作为标记。颜色必须与结果类别相关联。

 tab <- count(data, results)

  tab <- transform(tab,
                   results_ord  = factor(
                     results ,
                     levels = c('High', 'Medium', 'Low'),
                     ordered = TRUE
                   ))
  cols1 <-
    c(
      High = "olivedrab",
      Medium = "orange",
      Low = "tomato"
    )
  cols2 <-
    c(ifelse(
      tab$results_ord == "High",
      "olivedrab",
      ifelse(
        tab$results_ord == "Medium",
        "orange",
        "tomato"
      )
    ))


  plot_ly(
    tab,
    labels = results_ord,
    values = n,
    marker = list(cols2),
    type = "pie"
  ) %>%
    layout(title = "Results")

  thanks,

马诺伊·阿格拉瓦尔

最佳答案

此语法适用于 4.x 版本的 plotly,但您可以针对旧版本进行相应调整。以下是如何显示手动颜色:

df <- count(mtcars, am)
plot_ly(df, values = ~n, labels = ~factor(am), marker = list(colors = c('#FF7F0E', '#1F77B4')), type = 'pie')

您可以调整因子顺序以获得所需值的所需颜色。

关于R Plotly 饼图自定义颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40004072/

相关文章:

r - 在 R 中使用 apply 将矩阵转换为配对列表?

r - 在 Global Environment 中命名和放置列表的每个元素

r - 根据另一个向量的向量元素的索引

r - ggplot2 中两种不同颜色美学映射的不同调色板

javascript - 当切片不以 Angular 0 开始时,如何找到圆弧切片的质心?

c# - MS Chart 控件 - 饼图透明度

R:将列表中的每个数据帧与数据帧中的不同列合并

r - 自定义 R 中 image.plot 中的颜色范围

OpenGL纹理颜色错误

javascript - chartjs 饼图图例的每个标签都在一个新行上