Построить точки данных на полярных рассеяния с другим цветом / формой? Изменить метки градусов с указанным c текстом? - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь создать полярную диаграмму с сюжетом, которая выглядит примерно так, как я обнаружил. До сих пор я не смог изменить метки осей, все закончилось 45/90/135 градусов и c. У меня есть два «типа» точек данных, которые я хотел бы показать аналогично зеленому квадрату и синему треугольнику.

Возможно ли это с помощью графика, или есть другой пакет диаграмм, который мог бы это сделать, highcharter (может быть?)

Я пытаюсь сделать это в R

enter image description here

Я провел 8-10 часов, ходя по кругу на этом графике и просто не знаю, где go?

У меня есть 5 точек данных (в этом примере), помечены как A, B, C D, E.

Для точек A и E, я хотел бы показать их как другой цвет или другой символ / форму [возможно, оба, чтобы они выделялись].

Я получаю очень запутанный вывод, когда настраиваю logi c и просто не знаете, какие рычаги тянуть?

Фактические данные, которые я буду использовать для этого, будут получены из файла CSV:

  • labelName
  • dataR
  • dataTheta
  • markerType ["Y" или "N"]

Точки "Y" необходимо быть четко отличимым от точек "N".

    # Sample Data
    markerType  <- c("N", "Y", "N", "Y", "N")
    labelName   <- c("A", "B", "C", "D", "E")
    dataR       <- c(195, 62, 140, 50, 90)
    dataTheta   <- c(25, 45, 110, 200, 85)
    markerColor <- c("red", "blue")

    p <- plot_ly(
        type   = 'scatterpolar',
        r      = dataR,
        theta  = dataTheta,
        size   = c(20, 10, 20, 20, 10),     # Specify size of each point?
        sizes  = c(100, 300),               # Can't understand what these values are but they need to be here??
        color  = markerType,                # Influence color of point dependent on markerType ("Y" or "N")?
        colors = markerColor,
        # symbol = markerType, 
        # symbols = c('circle','x'),
        mode = 'markers'
    ) %>%
        # Adding the labels?
        add_trace(
            r      = dataR,
            theta  = dataTheta,
            mode   = "text",
            text   = labelName,
            textfont = list(color = '#000000', size = 10)
        )   
    p

Это вывод, который я получаю с кодом выше:

enter image description here

Если я изменю вектор с: size = c (20, 10, 20, 20, 10)

на: size = c (20, 20, 20, 20, 20)

Все точки данных исчезают, и у меня остаются только метки?

Моя конечная цель - также изменить метки срезов, чтобы они отображали конкретный c текст вместо градусов 45/90 / 135 et c. А также «исправить» концентрические круги c на 30/60/90/120/150/180 дней

...