2016-10-12 5 views
0

Я боролся с этой проблемой в течение нескольких дней, если кто-то может мне помочь. У меня есть таблица данных, которая имеет результаты столбца со значениями «Высокий», «Средний» или «Низкий». Я пытаюсь создать круговую диаграмму, используя plotly, подсчитывая количество High, Medium и Low в наборе данных и пытаясь присвоить цвет каждой категории. Ниже мой код. Я попробовал cols1 и cols2 как мой маркер и несколько других способов, но ничего не работает. Имейте в виду, что это динамическая таблица, поэтому могут быть случаи, когда нет High или No Medium и т. Д., Поэтому я просто не могу использовать список (c («томатный», «ornage», «olivedrab») в качестве маркера. Цвет должен быть привязан к категории результата.R Плоская круговая диаграмма пользовательских цветов

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, 

Манодж Агравал

+0

Я попытался это, но не получил график назад cols1 <- с ( "olivedrab", "апельсин", "помидоры" ) plot_ly ( вкладки, этикетки = results_ord, значения = п, маркер = маркер (цвет = results_ord, цвет = список (cols1)), тип = "пирог" )%>% макет (название = "Результаты") пожалуйста, вы можете сказать мне правильный синтаксис ? –

ответ

0

синтаксис для 4.x версии plotly, но вы можете настроить соответствующим образом для старшего verison. Вот как вы можете получить руководство цветов для отображения:

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

Вы можете настроить порядок факторов, чтобы получить желаемый цвет для r желаемое значение.

+0

Гопали, как только один или несколько категории, удаляются цветовая схема выходит из строя, потому что цвета не привязаны к category.In ggplot вы можете сделать что-то вроде этого перевалов <- с = «olivedrab ( «высоэффективных» ", Недостатки =" оранжевый ", 'Нет продаж' =" steelblue " ) Есть ли что-то подобное, что мы можем сделать в сюжете? –

+0

Не то, чтобы я знал. Но вы можете генерировать вектор «цветов» условно впереди и сохранять его в переменной, а затем подавать. – Gopala

Смежные вопросы