首页 > 解决方案 > 在小数据集上绘制线图

问题描述

我有这个小数据集,我需要用 plotly 来绘制。我正在努力解决这个问题:/ 数据集 我希望有 3 条彩色线(每一行的每一行 (1,2,3)。x 轴需要是列名,Y 轴代表每个数值。

到目前为止我的代码看起来不对

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

标签: rr-plotly

解决方案


我不确定这是你想要的情节,但听起来最接近你的描述。我改编了你的几列数据来描述。

如果数据的格式较长,则绘图会更容易pivot_longer。如果您将行号添加到数据中也更容易,这样您就可以为每个行号绘制一条线。

由于plotly将按字母顺序绘制您的 xaxis 类别,因此您需要重新调整您的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")

输出

用 3 条线绘制

数据

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)
)

推荐阅读