美文网首页后浪 · 正青春
R语言ggplot2绘图笔记

R语言ggplot2绘图笔记

作者: 日之朝矣 | 来源:发表于2021-11-21 15:16 被阅读0次

    ggplot2 layers

    最低层是“数据(DATA)”,统计肯定得有数据啊

    其次是“美感(Aesthetics)”,也就是数据映射比例

    第三是“几何(Geometry)”, 选择我们绘图的外观

    第四是"主题(Theme)", 控制所有非数据墨水

    基本操作

    # 先把数据层放这里
    plt_data_layer <- ggplot(data,aes(x,y,...(color,size...))) 
    # 然后画点图,并且以颜色按数据中的 clarity列 分类
    plt_price_vs_carat_by_carity <- plt_data_layer + geom_point(aes(color = clarity))
    # 如果想一张图显示多个图种
    plt_multiple <- lt_price_vs_carat_by_carity + geom_smooth()
    # 最后打印出图像
    print(plt_price_vs_carat_by_carity)
    
    # 也可以不同的图种使用不同的数据
    # 先把数据层放这里
    plt_data_layer <- ggplot(data) 
    # 然后画点图,并且以颜色按数据中的 clarity列 分类
    plt_price_vs_carat_by_carity <- plt_data_layer + geom_point(aes = (x, y, color = clarity))
    # 如果想一张图显示多个图种
    plt_multiple <- lt_price_vs_carat_by_carity + geom_smooth(aes = (x, y))
    # 最后打印出图像
    print(plt_price_vs_carat_by_carity)
    

    可见美学(Visible aesthetics)(其实就是各种自定义或者美化操作)

    ==aes()中的一些参数==

    aes 即 Aesthetics(美学)

    使用方法:

    aes(alpha = .2): 透明度20%

    aes(color = clarity): 颜色以clarity的不同值分类

    aes(color = 'red'): 颜色为红色

    aes(size = clarity): 一般是点图的点,大小以clarity的不同值分类

    Aesthetic Description Available Value
    x X axis position 数据集某列
    y Y axis position 数据集某列
    fill Fill color
    color Color of points, outlines of other geoms 以列不同值上色,或指定颜色'red'
    size Area or radius of points, thickness of line 以列不同值给大小,或指定数字值
    alpha Transparency 0 ~ 1.0 (可用缩写如.6)
    linetype line dash pattern
    labels Text on a plot or axes
    shape Shape 形状参数

    各种图


    动画效果

    if(!require(gapminder)){
        install.packages("gapminder")
    }
    # 获取数据:
    library(gapminder)
    # 绘图包
    library(ggplot2)
    # 动画包
    library(gganimate)
    
    # 用ggplot作图, 添加 frame=year
    test <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent)) +
      geom_point() +
      scale_x_log10() +
      theme_bw() +
    # 在这里
      labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') +
      transition_time(year) +
      ease_aes('linear')
    # 保存为GIF:
    anim_save("271-ggplot2-animated-gif-chart-with-gganimate1.gif")
    

    效果:


    由于RStudio没法在右边的预览框看到绘图动画效果,只能保存下来看了,

    而且保存可能会出一些问题,比如file_renderer failed to copy frames to the destination directory,

    这个问题试下把RStudio用管理员权限打开

    或者看这个视频跟着做一下试试
    gganimate mac - Warning: file_renderer failed to copy frames to the destination directory SOLVED
    视频来源于YouTube,作者的电脑是MacOS

    我的问题虽然上面这种方法没有解决,但它第二天打开这个问题自己就消失了,挺莫名其妙的

    附录

    shape取值

    相关文章

      网友评论

        本文标题:R语言ggplot2绘图笔记

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