Изменение эстетики в радарной диаграмме R plotly

#r #plotly

#r #plotly

Вопрос:

Я хотел бы изменить цвета следующего радиолокационного графика plotly, а также удалить -0,2 в метках осейвведите описание изображения здесь, этот график был создан с помощью следующего кода:

 fig <- plot_ly(
      type = 'scatterpolar',
      fill = 'toself'
    )
fig <- fig %>%
      add_trace(
        r = as.numeric(threats.mod["Country avg.", ]),
        theta = threat.labs,
        name = 'Country Avg.'
      ) %>%
      add_trace(
        r = as.numeric(threats.mod["Selection", ]),
        theta = threat.labs,
        name = 'Selection'
      ) %>%
      layout(
        polar = list(
          radialaxis = list(
            visible = T,
            range = c(-0.2,1)
          )
        )
      )
    fig
  

Комментарии:

1. Действительно ли имеет смысл создавать радарную диаграмму, которая начинается с -0,2?

2. Это устройство, позволяющее заставить plotly выдавать графический результат, аналогичный radarplot, который имеет пустое ядро. r-graph-gallery.com/142-basic-radar-chart.html

Ответ №1:

Вот как я это исправил:

 fig <- plot_ly(
      type = 'scatterpolar',
      fill = 'toself',
      marker = list(colorscale="Greys")
    )
    fig <- fig %>%
      add_trace(
        r = as.numeric(threats.mod["Country avg.", ]),
        theta = threat.labs,
        name = 'Country Avg.',
        fillcolor=rgb(153, 213, 148, 150, maxColorValue = 255),
        marker=list(color=rgb(153, 213, 148, maxColorValue = 255))
        ) %>%
      add_trace(
        r = as.numeric(threats.mod["Selection", ]),
        theta = threat.labs,
        name = 'Selection',
        fillcolor=rgb(252, 141,89, 150, maxColorValue = 255),
        marker=list(color=rgb(252, 141, 89, maxColorValue = 255))
      ) %>%
      layout(
        polar = list(
          radialaxis = list(
            visible = T,
            range = c(-20,100),
            tickmode = "array",
            tickvals = c(0, 50, 100),
            ticktext = c("0%", "50%", "100%"),
            angle= 0,
            tickangle = 0
          )
        )
      )