Используя Plotly создайте тепловую карту; изменение цвета - PullRequest
1 голос
/ 05 марта 2020

Я новичок в R и Plotly, и я сходил с ума по этому поводу. Я уверен, что есть простое решение, которое я не понимаю, но я не смог найти ничего, что я мог бы использовать, чтобы заставить его работать.

Все, что я хочу сделать, это изменить цвет этого тепловая карта к RdYlGn. Насколько я знаю, все, что мне нужно сделать, это создать палитру и изменить цветовую шкалу. Но каждый раз мой результат таков:

enter image description here

Мой код ниже.

# Load libraries
library(plotly)
library(RColorBrewer)
# Load Dataframe
df <- data.frame(Overall_Assessment = c(3,2,2), 
    Budget_Equals_Estimate = c(3,2,4), 
    Risk_Assessment_Cost_Schedule_Technical = c(3,"",3),
    Crosschecks = c(5,1,1),
    Cost_Methodology = c(3,2,2),
    Schedule_Baseline = c(2,2,2),
    Engineering_Technical_Baseline = c(3,3,3),
    Requirements_Definition = c(5,5,5))
# Create Matrix
m <- matrix(df, nrow = 8, ncol = 3)

# plot matrix
confidencevalue <- c(1,2,3,4,5)

pal <- brewer.pal(5,"RdYlGn")

fig <- plot_ly(
    x = c("EMD", "O&S", "P&D"), 
    y = c("Overall Assessment", "Budget Equals Estimate", "Risk Assessment (Cost Schedule Technical)",
    "Crosschecks", "Cost & Methodology", "Schedule Baseline", "Engineering Technical Baseline", "Requirements Definition"),
    z = m, 
    colorscale = pal,
    type = "heatmap") %>% 
    layout(xaxis = list(side = "top"), 
    yaxis = list(categoryorder = "trace", title = "Confidence Enablers"), 
    margin = list(l=10, r=10, b=10, t=10))
fig

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вместо colorscale вы можете использовать аргумент colors с colorRamp:

pal <- brewer.pal(5,"RdYlGn")

fig <- plot_ly(
    x = c("EMD", "O&S", "P&D"), 
    y = c("Overall Assessment", "Budget Equals Estimate", "Risk Assessment (Cost Schedule Technical)",
    "Crosschecks", "Cost & Methodology", "Schedule Baseline", "Engineering Technical Baseline", "Requirements Definition"),
    z = m, 
    colors = colorRamp(pal),
    type = "heatmap") %>% 
    layout(xaxis = list(side = "top"), 
    yaxis = list(categoryorder = "trace", title = "Confidence Enablers"), 
    margin = list(l=10, r=10, b=10, t=10))

ссылка

0 голосов
/ 05 марта 2020

Как насчет этого? Я наткнулся на палитры пивоваров и заметил, что независимо от того, что brewer.pal() я пробовал, цвета на графике всегда были одинаковыми неправильными цветами.

Глядя на ?plot_ly текст справки для 'colors', он говорит: "либо имя палитры colorbrewer2.org , либо вектор цветов в шестнадцатеричном ..." Поэтому я попробовал:

fig <- plot_ly(
    x = c("EMD", "O&S", "P&D"), 
    y = c("Overall Assessment", "Budget Equals Estimate", "Risk Assessment (Cost Schedule Technical)",
    "Crosschecks", "Cost & Methodology", "Schedule Baseline", "Engineering Technical Baseline", "Requirements Definition"),
    z = m, 
    colorscale = "YlOrRd",
    type = "heatmap") %>% 
    layout(xaxis = list(side = "top"), 
    yaxis = list(categoryorder = "trace", title = "Confidence Enablers"), 
    margin = list(l=10, r=10, b=10, t=10))

Производит: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...