#r #plotly #r-plotly
Вопрос:
Я делаю круговую диаграмму, используя пакет plotly в R, и всякий раз, когда у меня есть 5 вариантов для визуализации, он всегда меняет 5-й на коричневый/черный цвет, несмотря на то, что я переопределяю белый цвет. В случае, если это как-то связано с тем, что значение 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
Комментарии:
1. Спасибо! Быстрое продолжение: текст при наведении курсора для NA по-прежнему имеет коричневый цвет. Я попытался установить hovertext = список(цвет = «#FFFFFF»), но ничего не изменилось. Есть какие-нибудь идеи?
2. В случае, если кому-то это нужно, способ исправить цвет текста при наведении-добавить еще один аргумент в функцию макета: макет(метка при наведении = список(шрифт = список(цвет = «белый»)))