楼主: 二月与十六
2660 4

[程序分享] R语言数据量很大的日期加时间数据怎么做折线图之类的看趋势 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
60 点
帖子
1
精华
0
在线时间
9 小时
注册时间
2020-9-14
最后登录
2021-1-18

楼主
二月与十六 发表于 2020-9-14 10:17:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我这有一份数据类型为,日期时间:2018/1/1  00:00:00--2020/9/1  14:00:00,每天每间隔一小时就有一组数据,然后自变量有污水排放量(吨)、氨氮值、总氮、总磷、PH值。数据量有两万多个,我一画出折线图就一团黑,量太大了,都看不出趋势是什么样子,哪个时间段的值比较异常之类的。而且不太会图怎么画。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 折线图 怎么做 数据类型 排放量 R语言

本帖被以下文库推荐

沙发
llb_321 在职认证  发表于 2020-9-16 20:03:54
24*30*32,大约23000个样本,这么多数据挤在屏幕上,平均每个象素的宽度里有20个数据点,点之间再连成线,当然会黑乎乎的一大片。
所以,一种办法是把数据分割开来,一段段地显示,另一种办法是横向滚动显示。
第二种办法,github上有个包,Streagraph,我没用过,大概可以实现,你找找看吧。
第一种方法,将原始数据按年、月分组,然后利用ggplot2的facet_grid(year~month)分面显示,这样每个月的分面图中可以画出720个数据点,通常你的数据应该是稳定的,异常值会很明显。

藤椅
llb_321 在职认证  发表于 2020-9-16 20:22:31
我试了个12000个样本的,每个分面图100个数据点,横向是月份,纵向是年度
  1. d <- data.frame(year = rep(1:10, each=1200), month = rep(1:12, each=100), a = rep(1:100, 120), b = rnorm(12000, 10, 2))
  2. g<-d %>% group_by(year, month)
  3. p<-ggplot(g)+ aes(a,b)+ geom_line()+ facet_grid(year~month)+ theme(panel.spacing = unit(0.01, "lines"))
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
llb_321 在职认证  发表于 2020-9-17 22:24:27
  1. library(ggplot2)
  2. library(dplyr)
  3. library(plotly)
  4. #又试了一个25200样本的,
  5. d<-data.frame(year=rep(1:3,each=8400),month=rep(1:12,each=700),a=rep(1:700,36),b=rnorm(25200,10,2))
  6. #每个月700个样本,这样改分面,每个分面图显示更直观一些
  7. p<-ggplot(d)+aes(a,b)+geom_line()+facet_grid(month~year)+theme(panel.spacing = unit(0.01, "lines"))
  8. #用plotly包,可以动态显示,用浏览器查看,而且每个分面可以放大便于查看异常数据
  9. ggplotly(p)
复制代码

示例数据的动态图如下:
example.png

报纸
drunkfish69 发表于 2020-9-18 19:19:41
  1. ggsave("xxx.pdf", width = 2000, height = 20, units = "cm")
复制代码

可以试试保存到矢量图,宽度、高度设多少,自己尝试调整下。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-11 14:01