ggplot2是一款强大的图形可视化R包,其作图方式易于理解,且生成的图形精美,定制化程度也很高,应该是R里面最流行的可视化工具。本文关注于ggplot2包的安装、ggplot2基本作图语法等。

一 ggplot2的安装

> .libPaths("~/R/lib") 如果不安装到默认路径,可以在此设置安装路径
> install.packages("ggplot2")#以上代码也可以直接用install.packages("ggplot2",lib=""~/R/lib"")代替,这样就只是把包安装到路径中,并不会载入路径,
#不过后续载入包就找不到路径了,需要在library的时候指定路径

载入ggplot2包,进行基础绘图,现在就用ggplot2自带的数据集激进型测试,mgp数据集的描述:Fuel economy data from 1999 and 2008 for 38 popular models of car(美国1999年到2008年38种流行汽车的能源使用数据),数据库详细说明可参考

https://www.rdocumentation.org/packages/ggplot2/versions/3.0.0/topics/mpg

> library(ggplot2, lib.loc=""~/R/lib"")  #如若ggplot2包安装在其它路径,就用lib.loc指定此路径,如在默认路径就不需要设置此参数> mpg  #mpg数据集如下
# A tibble: 234 x 11manufacturer model   displ  year   cyl trans   drv     cty   hwy fl    class<chr>        <chr>   <dbl> <int> <int> <chr>   <chr> <int> <int> <chr> <chr>1 audi         a4       1.80  1999     4 auto(l… f        18    29 p     comp…2 audi         a4       1.80  1999     4 manual… f        21    29 p     comp…3 audi         a4       2.00  2008     4 manual… f        20    31 p     comp…4 audi         a4       2.00  2008     4 auto(a… f        21    30 p     comp…5 audi         a4       2.80  1999     6 auto(l… f        16    26 p     comp…6 audi         a4       2.80  1999     6 manual… f        18    26 p     comp…7 audi         a4       3.10  2008     6 auto(a… f        18    27 p     comp…8 audi         a4 qua…  1.80  1999     4 manual… 4        18    26 p     comp…9 audi         a4 qua…  1.80  1999     4 auto(l… 4        16    25 p     comp…
10 audi         a4 qua…  2.00  2008     4 manual… 4        20    28 p     comp…

下面来绘制一个简单的图形-散点图,但是出现了报错,说是没有png supoort,用capiabilities()可查看支持的图片类型,此时需要安装Cairo包来支持,安装方法见 https://www.cairographics.org/download/。首先在bash界面种安装Cairo需要的dev库文件,然后进入R安装Cairo即可。

> p <- ggplot(mpg,aes(x=hwy,y=cty)) + geom_point(aes(color=cyl)) + geom_smooth(method="lm")
> ggsave(filename="point.png",plot=p)> capabilities()jpeg         png        tiff       tcltk         X11        aqua TRUE        TRUE        TRUE        TRUE       FALSE       FALSE http/ftp     sockets      libxml        fifo      cledit       iconv TRUE        TRUE        TRUE        TRUE        TRUE        TRUE NLS     profmem       cairo         ICU long.double     libcurl TRUE       FALSE        TRUE        TRUE        TRUE        TRUE 

$ sudo apt-get install libcairo2-dev #For Debian and Debian derivatives including Ubuntu
$ sudo yum install cairo-devel       #For Fedora
$ zypper install cairo-devel         #For openSUSE
> install.packages("Cairo")
> ggplot(mpg,aes(x=hwy,y=cty)) + geom_point(aes(color=cyl),size=2) #这里的ggsave保存步骤就神略了,后面也一样

ggplot(mpg,aes(hwy,cty)) + geom_point(aes(color=cyl)),这是一般绘图语法,也可以写成ggplot(mpg) + geom_point(aes(hwy,cty,color=cyl)),aes表示进行数据映射,aes括号外面的参数表示直接赋值(与数据没有关系了),其中hwy映射到图上是x轴数据,cty映射到y轴上,cyl映射到颜色属性,图上每一个点的三重属性都得到展示了,一般输入的坐标轴属性有1~3个,如只用1个坐标轴属性值就可画直方图,一般画图是两个属性,在3D图种会用到3个坐标轴属性值,而除了映射到坐标轴的属性值之外,其它的属性如颜色、大写、标记、填充、分面等可以自由设置。

上图是典型的散点图,cyl设置了点的颜色属性,由于cyl是数值,所以就当成了连续变量,映射到颜色属性之后也成了连续的颜色,由于cyl就只有几类数据,可以按照离散变量来设置。

aes里面设置的变量都需要有数据映射,如果没有数据映射直接设置成定值,可在aes外设置,如下设置点的大小。

ggplot(mpg,aes(x=hwy,y=cty)) + geom_point(aes(color=factor(cyl)),size=0.5)

除了geom_point()绘画点图之外,还有很多图形可以绘制,并且可以通过调节参数绘制很多子图形,以下列举几种常见图形。

geom_line()             折线图

geom_bar()              图形图

geom_histogram()   直方图

geom_boxplot()       箱线图

geom_density()        密度函数分布图

geom_area()            面积图,覆盖数据以下的所有区域。

由于ggplot2几何图形都是geom_xxx形式,所以可以在R种列出所有的绘图类型

> library(ggplot2)
> ls("package:ggplot2", pattern="^geom_.+")[1] "geom_abline"     "geom_area"       "geom_bar"        "geom_bin2d"     [5] "geom_blank"      "geom_boxplot"    "geom_col"        "geom_contour"   [9] "geom_count"      "geom_crossbar"   "geom_curve"      "geom_density"
[13] "geom_density_2d" "geom_density2d"  "geom_dotplot"    "geom_errorbar"
[17] "geom_errorbarh"  "geom_freqpoly"   "geom_hex"        "geom_histogram"
[21] "geom_hline"      "geom_jitter"     "geom_label"      "geom_line"
[25] "geom_linerange"  "geom_map"        "geom_path"       "geom_point"
[29] "geom_pointrange" "geom_polygon"    "geom_qq"         "geom_quantile"
[33] "geom_raster"     "geom_rect"       "geom_ribbon"     "geom_rug"
[37] "geom_segment"    "geom_smooth"     "geom_spoke"      "geom_step"
[41] "geom_text"       "geom_tile"       "geom_violin"     "geom_vline"  

ggplot2在绘图的时候内部进行统计分析,每种几何图形都有默认的统计变换类型,统计变换用stat_xxx形式

> library(ggplot2)
> ls("package:ggplot2",pattern="stat_.+")[1] "stat_bin"             "stat_bin_2d"          "stat_bin_hex"        [4] "stat_bin2d"           "stat_binhex"          "stat_boxplot"        [7] "stat_contour"         "stat_count"           "stat_density"
[10] "stat_density_2d"      "stat_density2d"       "stat_ecdf"
[13] "stat_ellipse"         "stat_function"        "stat_identity"
[16] "stat_qq"              "stat_quantile"        "stat_smooth"
[19] "stat_spoke"           "stat_sum"             "stat_summary"
[22] "stat_summary_2d"      "stat_summary_bin"     "stat_summary_hex"
[25] "stat_summary2d"       "stat_unique"          "stat_ydensity"
[28] "update_stat_defaults"

本文网址:https://mp.csdn.net/postedit/82914819

R语言ggplot2 (一):ggplot2包安装和初始作图相关推荐

  1. R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet

    R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...

  2. R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介

    R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...

  3. R语言可视化【ggplot2】

    R语言可视化[ggplot2] 文章的文字/图片/代码部分/全部来源网络或学术论文或课件,文章会持续修缮更新,仅供学习使用. 目录 R语言可视化[ggplot2] 一.可视化介绍 二.不同情况适用的图 ...

  4. R语言数据可视化 ggplot2基础4 位置与坐标系

    R语言数据可视化 ggplot2基础4 位置与坐标系 我们继续使用ggplot2::diamonds介绍position. position = "identity" ggplot ...

  5. R语言数据可视化 ggplot2基础3 添加几何对象

    R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...

  6. R语言图形用户界面数据挖掘包Rattle介绍、安装、启动、介绍(Using the rattle package for data mining)

    R语言图形用户界面数据挖掘包Rattle介绍.安装.启动.介绍(Using the rattle package for data mining) 目录

  7. R语言数据科学程序包:Tidyverse介绍

    R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...

  8. R语言中的数据处理包dplyr、tidyr笔记

    R语言中的数据处理包dplyr.tidyr笔记 dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其 ...

  9. R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型

    系列文章 R做面板数据分析:R语言 面板数据分析 plm包实现(一) --LSDV和固定效应模型 如果想看随机效应模型怎么做,参见这篇文章 R语言 面板数据分析 plm包实现(二)--随机效应模型 如 ...

最新文章

  1. rxjs interval和take的混合使用
  2. CS 320—Week 8 Homewor
  3. 【CodeForces - 602D】Lipshitz Sequence(思维,单调栈,斜率单调性)
  4. Java中的Unsafe
  5. ionic应用在mac上使用Xcode7.2(7C68)进行iphone真机测试
  6. javaweb各种乱码问题处理
  7. 什么是Ultrabook
  8. Android Realm(数据库)
  9. 字符编码——简体中文编码中区位码、国标码、内码、外码、字形码的区别及关系
  10. vue H5 唤醒app
  11. 电力拖动自动控制系统 华南理工大学期末重点 阮毅 长篇思维导图
  12. 什么是OLAP?主流八大开源OLAP技术架构对比
  13. bam文件读取_检测bam文件的完整度-流程之殇
  14. vue项目使用vue-amap调用高德地图api详细步骤
  15. 安徽师大附中%你赛day3T1 怜香惜玉 解题报告
  16. 服务器的丢包率一般与什么有关
  17. 编译原理学习笔记(十七)~自上而下语法分析之构造预测分析表
  18. ThreeJS绘制流动的虚线效果
  19. webpack打包工具不会用,那是因为你没看过这篇
  20. for example: not eligible for auto-proxying问题排查

热门文章

  1. 为什么要抛弃Pact?如何快速实现契约测试(CDC)
  2. 【网络攻击】面对网络攻击,我们该如何防范?
  3. java lua脚本_Java中使用LUA脚本语言
  4. 快速入门 Android Jetpack 以及相关 Kotlin、RxJava、MVVM 等主流技术,独立构架 App 的基础技能
  5. Match Point(赛末点)
  6. 适合陪孩子一起看的电影
  7. c语言编程飞行的飞机,C语言写的飞机源码
  8. stm32滴答计时器_STM32嵌入式开发学习笔记(四):使用滴答计时器实现精准计时...
  9. 未来教育计算机一级一本通光盘,《未来教育·2010全国计算机等级考试:一本通一级B》低价购书_计算机与互联网_孔网...
  10. mysql数据库传输加密_[数据库]MySQL加密