R语言ggplot2 (一):ggplot2包安装和初始作图
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包安装和初始作图相关推荐
- R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet
R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...
- R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介
R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...
- R语言可视化【ggplot2】
R语言可视化[ggplot2] 文章的文字/图片/代码部分/全部来源网络或学术论文或课件,文章会持续修缮更新,仅供学习使用. 目录 R语言可视化[ggplot2] 一.可视化介绍 二.不同情况适用的图 ...
- R语言数据可视化 ggplot2基础4 位置与坐标系
R语言数据可视化 ggplot2基础4 位置与坐标系 我们继续使用ggplot2::diamonds介绍position. position = "identity" ggplot ...
- R语言数据可视化 ggplot2基础3 添加几何对象
R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...
- R语言图形用户界面数据挖掘包Rattle介绍、安装、启动、介绍(Using the rattle package for data mining)
R语言图形用户界面数据挖掘包Rattle介绍.安装.启动.介绍(Using the rattle package for data mining) 目录
- R语言数据科学程序包:Tidyverse介绍
R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...
- R语言中的数据处理包dplyr、tidyr笔记
R语言中的数据处理包dplyr.tidyr笔记 dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其 ...
- R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型
系列文章 R做面板数据分析:R语言 面板数据分析 plm包实现(一) --LSDV和固定效应模型 如果想看随机效应模型怎么做,参见这篇文章 R语言 面板数据分析 plm包实现(二)--随机效应模型 如 ...
最新文章
- rxjs interval和take的混合使用
- CS 320—Week 8 Homewor
- 【CodeForces - 602D】Lipshitz Sequence(思维,单调栈,斜率单调性)
- Java中的Unsafe
- ionic应用在mac上使用Xcode7.2(7C68)进行iphone真机测试
- javaweb各种乱码问题处理
- 什么是Ultrabook
- Android Realm(数据库)
- 字符编码——简体中文编码中区位码、国标码、内码、外码、字形码的区别及关系
- vue H5 唤醒app
- 电力拖动自动控制系统 华南理工大学期末重点 阮毅 长篇思维导图
- 什么是OLAP?主流八大开源OLAP技术架构对比
- bam文件读取_检测bam文件的完整度-流程之殇
- vue项目使用vue-amap调用高德地图api详细步骤
- 安徽师大附中%你赛day3T1 怜香惜玉 解题报告
- 服务器的丢包率一般与什么有关
- 编译原理学习笔记(十七)~自上而下语法分析之构造预测分析表
- ThreeJS绘制流动的虚线效果
- webpack打包工具不会用,那是因为你没看过这篇
- for example: not eligible for auto-proxying问题排查
热门文章
- 为什么要抛弃Pact?如何快速实现契约测试(CDC)
- 【网络攻击】面对网络攻击,我们该如何防范?
- java lua脚本_Java中使用LUA脚本语言
- 快速入门 Android Jetpack 以及相关 Kotlin、RxJava、MVVM 等主流技术,独立构架 App 的基础技能
- Match Point(赛末点)
- 适合陪孩子一起看的电影
- c语言编程飞行的飞机,C语言写的飞机源码
- stm32滴答计时器_STM32嵌入式开发学习笔记(四):使用滴答计时器实现精准计时...
- 未来教育计算机一级一本通光盘,《未来教育·2010全国计算机等级考试:一本通一级B》低价购书_计算机与互联网_孔网...
- mysql数据库传输加密_[数据库]MySQL加密