zoukankan      html  css  js  c++  java
  • R语言编程代写动态图可视化:如何、创建具有精美动画的图

     原文链接:http://tecdat.cn/?p=8003

     演示数据集

    library(gapminder)
    head(gapminder)
    ## # A tibble: 6 x 6
    ##   country     continent  year lifeExp      pop gdpPercap
    ##   <fct>       <fct>     <int>   <dbl>    <int>     <dbl>
    ## 1 Afghanistan Asia       1952    28.8  8425333      779.
    ## 2 Afghanistan Asia       1957    30.3  9240934      821.
    ## 3 Afghanistan Asia       1962    32.0 10267083      853.
    ## 4 Afghanistan Asia       1967    34.0 11537966      836.
    ## 5 Afghanistan Asia       1972    36.1 13079460      740.
    ## 6 Afghanistan Asia       1977    38.4 14880372      786.

    静态图

    p <- ggplot(
      gapminder, 
      aes(x = gdpPercap, y=lifeExp, size = pop, colour = country)
      ) +
      geom_point(show.legend = FALSE, alpha = 0.7) +
      scale_color_viridis_d() +
      scale_size(range = c(2, 12)) +
      scale_x_log10() +
      labs(x = "GDP per capita", y = "Life expectancy")
    p

     

    基本

    状态之间的过渡长度将设置为与它们之间的实际时间差相对应。

    标签变量:frame_time。给出当前帧所对应的时间。

    创建面:

    让视图跟随数据在每帧中

    ​ 

    逐步衰减

    ​ 

    显示原始数据作为背景

    您可以根据需要显示过去和/或将来的原始数据并设置其样式。

    ​ 

     

    静态图

    p <- ggplot(
      airquality,
      aes(Day, Temp, group = Month, color = factor(Month))
      ) +
      geom_line() +
      scale_color_viridis_d() +
      labs(x = "Day of Month", y = "Temperature") +
      theme(legend.position = "top")
    p

    ​ 

    让数据逐渐出现

    • 按天显示(x轴)

    ​ 

    ​ 

    ​ 

    在数据的几个不同阶段之间进行转换

    数据准备:

    library(dplyr)
    mean.temp <- airquality %>%
      group_by(Month) %>%
      summarise(Temp = mean(Temp))
    mean.temp
    ## # A tibble: 5 x 2
    ##   Month  Temp
    ##   <int> <dbl>
    ## 1     5  65.5
    ## 2     6  79.1
    ## 3     7  83.9
    ## 4     8  84.0
    ## 5     9  76.9

    创建平均温度的条形图:

    p <- ggplot(mean.temp, aes(Month, Temp, fill = Temp)) +
      geom_col() +
      scale_fill_distiller(palette = "Reds", direction = 1) +
      theme_minimal() +
      theme(
        panel.grid = element_blank(),
        panel.grid.major.y = element_line(color = "white"),
        panel.ontop = TRUE
      )
    p

    ​ 

    • transition_states():

    ​ 

    • enter_grow()+ enter_fade()

    保存动画

    如果需要保存动画以备后用,可以使用该anim_save()功能。

    如果您有任何疑问,请在下面发表评论。   

  • 相关阅读:
    汇编语言从入门到精通-指令汇总
    汇编语言从入门到精通-5微机CPU的指令系统1
    两台W7系统的电脑,A电脑可以ping通B电脑,B电脑ping不通A电脑。
    linux与python3安装redis
    python3报:ImportError: No module named 'MySQLdb'
    Django安装数据库MySQLdb
    win7系统中开启wifi热点
    以太坊
    route命令
    Android——UI(1) (activity window decor)
  • 原文地址:https://www.cnblogs.com/tecdat/p/11733460.html
Copyright © 2011-2022 走看看