为啥 plot_ly 饼图总是将 R 中的第 5 个值文本从白色变为黑色?
Posted
技术标签:
【中文标题】为啥 plot_ly 饼图总是将 R 中的第 5 个值文本从白色变为黑色?【英文标题】:Why does plot_ly pie chart always turn 5th value text from white to black in R?为什么 plot_ly 饼图总是将 R 中的第 5 个值文本从白色变为黑色? 【发布时间】:2021-10-09 03:58:39 【问题描述】:我正在使用 R 中的 plotly 包制作饼图,每当我有 5 种选择进行可视化时,它总是将第 5 种更改为棕色/黑色,尽管我将颜色覆盖为白色。如果它与 NA 的值有关,我该如何解决?我有标记为 NA 的数据,因此我需要将其命名为 NA。为了它的价值,我尝试重命名为“NA”,但看起来还是一样。
为什么会发生这种情况,我该如何解决?
library(plotly)
library(dplyr)
data <- tibble(employee = c("Justin", "Corey","Sibley", "Justin", "Corey","Sibley", "Lisa", "NA"),
education = c("graudate", "student", "student", "graudate", "student", "student", "nurse", "doctor"),
fte_max_capacity = c(1, 2, 3, 1, 2, 3, 4, 5),
project = c("big", "medium", "small", "medium", "small", "small", "medium", "medium"),
aug_2021 = c(1, 1, 1, 1, 1, 1, 2, 5),
sep_2021 = c(1, 1, 1, 1, 1, 1, 2, 5),
oct_2021 = c(1, 1, 1, 1, 1, 1, 2, 5),
nov_2021 = c(1, 1, 1, 1, 1, 1, 2, 5))
data2 <- data %>%
dplyr::group_by(employee) %>%
mutate(sum = sum(rowSums(select(cur_data_all(), contains("_20"))))) %>%
dplyr::select(employee, sum) %>%
distinct()
my_colors <- c("#CA001B", "#1D28B0", "#D71DA4", "#00A3AD", "#FF8200", "#753BBD", "#00B5E2", "#008578", "#EB6FBD", "#FE5000", "#6CC24A", "#D9D9D6", "#AD0C27", "#950078")
fig <- plot_ly(type='pie', labels=data2$employee, values=data2$sum,
textinfo='label+percent', marker = list(colors = my_colors),
insidetextorientation='horizontal')
fig
t <- list(
family = "Arial",
size = 18,
color = 'white')
fig %>% layout(font=t, showlegend = FALSE)
【问题讨论】:
【参考方案1】:在insidetextfont
中设置颜色-
library(plotly)
fig <- plot_ly(type='pie', labels=data2$employee, values=data2$sum,
textinfo='label+percent', insidetextfont = list(color = '#FFFFFF'),
marker = list(colors = my_colors),
insidetextorientation='horizontal')
fig
【讨论】:
谢谢!快速跟进:NA 的悬停文本仍然是棕色。我尝试设置 hovertext = list(color = "#FFFFFF"),但没有任何变化。有什么想法吗? 如果有人需要,修复悬停文本颜色的方法是在布局函数中添加另一个参数: layout(hoverlabel = list(font = list(color = "white")))以上是关于为啥 plot_ly 饼图总是将 R 中的第 5 个值文本从白色变为黑色?的主要内容,如果未能解决你的问题,请参考以下文章