美文网首页
ggplot2时间序列图

ggplot2时间序列图

作者: 灵木er | 来源:发表于2021-03-12 20:29 被阅读0次

废话不多说,先看图

image

然后是代码部分

#!/usr/bin/env Rscript
options(warn = -1)
site="https://mirrors.tuna.tsinghua.edu.cn/CRAN"
package_list <- c("tidyverse", "showtext")
for(p in package_list){
    if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){
        install.packages(p, repos=site)
        suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))
    }
}

library(tidyverse)
library(lubridate)
library(showtext)

font_add("kaiti", "simkai.ttf")
showtext_auto()

input_table = "used.G"
year_show = 2021
nr = 3
output_picture = "used.pdf"

df <- read_delim(input_table, delim = " ", col_names = F) %>% filter(str_detect(X3, "G")) %>% 
    mutate(mem = as.numeric(str_remove(.$X3, "G")))%>%drop_na() %>% 
    group_by(X1) %>% summarise(daymean = mean(mem),daymax = max(mem), daymin = min(mem))

p <- df %>% filter(year(X1)==year_show) %>% ggplot(aes(x = X1)) + geom_line(aes(y = daymean, color="red"))+ 
    geom_line(aes(y = daymax, color="blue")) + geom_line(aes(y = daymin, color="green"))+ 
    scale_colour_discrete(breaks = c('blue','green','red'), labels = c('maxMem','minMem','meanMem')) + 
    facet_wrap(~month(X1), scales = "free", nrow = nr) + 
    labs(title = str_c(year_show, "年memory use"), x = "", y = "Memory\tG", col = "") + theme_classic() + 
    scale_x_date(breaks = df$X1, labels = str_c(month(df$X1), "月", day(df$X1), "日"))+
    theme(legend.position = 'top', axis.text.x = element_text(angle = -90, hjust = 0.5), 
          axis.text = element_text(family = "kaiti", size = 12),
          plot.title = element_text(hjust = 0, vjust = -12),
          legend.text = element_text(size = 12)) # %>% 
p
ggsave(output_picture, p, width = 16, height = 9, units = "in")

没有注释,看不懂的就去学习吧。如果没有simkai.ttf这个字体会报错。需要选择你电脑上有的中文字体。

对了,数据是这样的

2020/04/10 23:00:01 154G
2020/04/10 23:10:01 154G
2020/04/10 23:20:01 154G
2020/04/10 23:30:01 154G
2020/04/10 23:40:02 154G
2020/04/10 23:50:01 154G
2020/04/11 00:00:01 154G
2020/04/11 00:10:01 154G
2020/04/11 00:20:01 154G
2020/04/11 00:30:01 154G

相关文章

  • ggplot2时间序列图中x轴为分类变量的处理

    title: "ggplot2时间序列图中x轴为分类变量的处理"author: "wintryheart"date...

  • ggplot2时间序列图

    废话不多说,先看图 然后是代码部分 没有注释,看不懂的就去学习吧。如果没有simkai.ttf这个字体会报错。需要...

  • 时间序列图

    使用Python进行时间序列数据可视化时间序列自然适用于可视化。 随着时间的推移观察的线图很受欢迎,但是您可以使用...

  • UML 序列图

    1、序列图的定义 序列图是对对象之间传送消息的时间顺序的可视化表示。 序列图的主要用途是把用例表达的需求,转化为进...

  • R可视化——基于ggplot2绘制时间序列图

        也叫推移图,是一种以时间轴为横轴,变量为纵轴的图形,主要用于观察变量是否随时间变化而呈某种趋势,是用于观察...

  • 入门AE:火焰动画的效果,附带教程

    一、效果图 今天教大家的知识还是序列图层,序列图层的作用就是让很多的图层,依次错开相同的时间,手调也可以,但是如果...

  • Python可视化 - 绘制双坐标系时间序列图

    python可视化分析(八)-绘制双坐标系时间序列图 - 简书 (jianshu.com)[https://www...

  • UML概览

    北京尚学堂UML课程笔记 一、UML分类 序列图:描述实例在某个场景中动作执行的顺序。 序列图和协作图是同构图。 ...

  • UML&iOS - 时序图

    一、时序图是什么? 时序图(Sequence Diagram),又名序列图,它通过描述对象之间发送消息的时间顺序显...

  • ggplot2作图详解

    ggplot2作图详解1:入门函数qplot ggplot2作图详解2:ggplot图形对象 ggplot2作图详...

网友评论

      本文标题:ggplot2时间序列图

      本文链接:https://www.haomeiwen.com/subject/pjzzqltx.html