r - 在 r 中绘制字典值
问题描述
我有一段数据是键值对的字典,形式如下:
"1.354395": [
87.4006653,
92.0,
84.0,
2.18594456,
6.58963251,
1.97522652,
33.8585548,
2.89522839,
0.0,
0.3756774
],
"1.355575": [
84.21513,
97.0,
94.0,
2.63353539,
9.701308,
1.48480618,
24.1026344,
5.00067139,
0.0,
0.476816237
],...
以下是 R 中的数据:
list(`1.454552` = c(93.15171, 88, 91, 5.66755724, 6.469661, 2.06840134,
40.66451, 2.44088984, 0, 0.401849449), `1.455795` = c(87.7752151,
92, 87, 4.76685572, 2.86901379, 2.00754881, 8.92096, 4.836194,
0, 0.0966028), `1.455984` = c(81.08724, 97, 94, 2.54499722, 6.61629057,
2.2256844, 53.1162224, 2.008997, 0, 0.8071972), `1.456137` = c(85.67516,
81, 97, 8.783263, 7.65513325, 1.53414989, 41.64623, 2.329053,
0, 0.7988913), `1.456295` = c(88.17177, 94, 97, 6.011479, 7.758415,
2.070262, 29.4543114, 4.043613, 0, 0.4748996), `1.456457` = c(87.75609,
87, 89, 5.89587069, 9.498943, 1.66703343, 55.62601, 2.277172,
0, 0.358969629), `1.456705` = c(99.99199, 96, 90, 5.10459852,
9.459774, 1.52685452, 21.1448555, 5.652314, 0, 0.6192784), `1.456985` = c(96.77855,
86, 80, 9.057593, 7.29362965, 1.44890714, 16.3208141, 5.47197628,
0, 0.808024764)
关键是将该值列表添加到字典中的时间,因此应该在 x 轴上,然后我想沿着 y 轴绘制列表中的每个值,列表中的每个值都是它的自己的折线图。我已将数据加载到 R 中,但我对整个 R 很陌生,我不太确定如何使用plot()
一系列值。
解决方案
你可以用ggplot()
这个。我希望我理解正确:
library(tidyverse)
data <- list(`1.454552` = c(93.15171, 88, 91, 5.66755724, 6.469661, 2.06840134,
40.66451, 2.44088984, 0, 0.401849449), `1.455795` = c(87.7752151,
92, 87, 4.76685572, 2.86901379, 2.00754881, 8.92096, 4.836194,
0, 0.0966028), `1.455984` = c(81.08724, 97, 94, 2.54499722, 6.61629057,
2.2256844, 53.1162224, 2.008997, 0, 0.8071972), `1.456137` = c(85.67516,
81, 97, 8.783263, 7.65513325, 1.53414989, 41.64623, 2.329053,
0, 0.7988913), `1.456295` = c(88.17177, 94, 97, 6.011479, 7.758415,
2.070262, 29.4543114, 4.043613, 0, 0.4748996), `1.456457` = c(87.75609,
87, 89, 5.89587069, 9.498943, 1.66703343, 55.62601, 2.277172,
0, 0.358969629), `1.456705` = c(99.99199, 96, 90, 5.10459852,
9.459774, 1.52685452, 21.1448555, 5.652314, 0, 0.6192784), `1.456985` = c(96.77855,
86, 80, 9.057593, 7.29362965, 1.44890714, 16.3208141, 5.47197628,
0, 0.808024764))
data <- bind_rows(data) %>% mutate(group= row_number()) %>%
pivot_longer(cols = -group, names_to = "time")
ggplot(data, aes(x = time, y=value, group=group)) +
geom_line(aes(col=as.factor(group)))
由reprex 包(v0.3.0)于 2020-04-26 创建
推荐阅读
- postgresql - Use returned value of INSERT ... RETURNING in multiple following inserts
- arangodb - 如何删除 Arango DB 中的嵌套记录
- regex - 记事本++替换为空格
- keycloak - 如何在我的 OIDC 客户端 SP 中让 keycloak IDP 触发 IDP 启动注销
- database - Laravel 5.7 数据库关系不起作用
- laravel - Laravel - updateOrCreate or a sync method?
- angular-schematics - 将集合传递到自定义角度示意图?
- php - 如何知道 phpSpreadsheet 生成的 .xls 文件为何损坏?
- php - 为什么我的 mPDF 的输出功能不能正常工作?
- python - virtualenv 没有匹配的分布