我尝试过使用带有散点极性的分割跟踪,这似乎可以部分工作,但是无法绘制出所有10个变量的值。因此,我希望使用从X1到X10的值将每行(由“ ean”标识)绘制为自己的线。
library(tidyverse)
library(vroom)
library(plotly)
types <- rep(times = 10, list(
col_integer(f = stats::runif,
min = 1,
max = 5)))
products = bind_cols(
tibble(ean = sample.int(1e9, 25)),
tibble(kategori = sample(c("kat1", "kat2", "kat3"), 25, replace = TRUE)),
gen_tbl(25, 10, col_types = types)
)
plot_ly(
products,
type = 'scatterpolar',
mode = "lines+markers",
r = ~X1,
theta = ~"X1",
split = ~ean
)
如何在雷达图(X1-X10)中以情节方式绘制所有变量?通常我会选择X1:X10的列,但在这里我不能这样做(我认为这与〜用于选择变量)有关。
所以我希望结果看起来像这样(但是我只显示线条而不填充实心的多边形,所以我会有更多的产品)。因此,最后25种产品很多,但我将其连接起来,以便用户可以选择要显示的图表。
答案 0 :(得分:0)
以图形方式方便地使用长格式的数据-请参见?gather
。
请检查以下内容:
library(dplyr)
library(tidyr)
library(vroom)
library(plotly)
types <- rep(times = 10, list(
col_integer(f = stats::runif,
min = 1,
max = 5)))
products = bind_cols(
tibble(ean = sample.int(1e9, 25)),
tibble(kategori = sample(c("kat1", "kat2", "kat3"), 25, replace = TRUE)),
gen_tbl(25, 10, col_types = types)
)
products_long <- gather(products, "key", "value", -ean, -kategori)
plot_ly(
products_long,
type = 'scatterpolar',
mode = "lines+markers",
r = ~value,
theta = ~key,
split = ~ean
)