Построение линии на небольшом наборе данных - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть этот небольшой набор данных, который мне нужен для построения графика. Я борюсь с этим: / dataset Я ищу 3 цветные линии (каждая строка для каждой из строк (1,2,3). Ось X должна быть именами столбцов и Y Ось представляет каждое из числовых значений c.

Мой код пока выглядит неправильно

plot_ly (x = colnames(a), y = a[1], type = "scatter" ,mode = "lines" )

1 Ответ

1 голос
/ 11 апреля 2020

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

Сюжет будет проще, если данные будут в более длинной форме с pivot_longer. Также проще, если вы добавите номера строк к своим данным, чтобы вы могли построить одну строку для каждого номера строки.

Поскольку plotly будет отображать ваши категории xaxis в алфавитном порядке, вы захотите повторно присвоить коэффициент name (name имена ваших столбцов) к порядку ваших столбцов.

В своем выражении plot_ly используйте split для построения по номеру строки.

library(plotly)
library(tidyverse)

a %>%
  mutate(rn = row_number()) %>%
  pivot_longer(cols = -rn, names_to = "name", values_to = "value") %>%
  mutate(name = factor(name, levels = colnames(a))) %>%
  plot_ly(x = ~name, y = ~value, split = ~rn, type = "scatter", mode = "lines")

Вывод

plotly plot with 3 lines

Данные

a <- data.frame(
  N_of_Brands = c(-.4, .8, -.4),
  Brand_Runs = c(-.26, .70, -.75),
  Total_Volume = c(-.69, .15, -.015),
  No_of_Trans = c(-.81, .45, -.35)
)
...