文档章节

R:ggplot2包

cuyi
 cuyi
发布于 2017/02/27 19:33
字数 691
阅读 20
收藏 0
R

1、qplot函数

> library(ggplot2)
> head(diamonds)
  carat       cut color clarity depth table price     x     y     z
1  0.23     Ideal     E     SI2  61.5    55   326  3.95  3.98  2.43
2  0.21   Premium     E     SI1  59.8    61   326  3.89  3.84  2.31
3  0.23      Good     E     VS1  56.9    65   327  4.05  4.07  2.31
4  0.29   Premium     I     VS2  62.4    58   334  4.20  4.23  2.63
5  0.31      Good     J     SI2  63.3    58   335  4.34  4.35  2.75
6  0.24 Very Good     J    VVS2  62.8    57   336  3.94  3.96  2.48
> set.seed(1410)    #让样本可重复
> dsmall<-diamonds[sample(nrow(diamonds),100),]    #创建一个容量为100的随机样本
> qplot(carat,price,data=diamonds)    #绘制散点图

输入图片说明

qplot(carat,log(price),data=diamonds)    #qplot()支持变量的函数作为参数

输入图片说明

> qplot(carat,log(price),data=diamonds,colour=color)    #向散点图添加颜色信息

输入图片说明

> qplot(carat,log(price),data=diamonds,shape=cut)    #向散点图添加形状信息

输入图片说明

> qplot(color,data=diamonds,geom="bar")    #绘制条形图

输入图片说明

2、ggplot2函数

ggplot(data = , aes(x = , y = )) +
geom_XXX(...) +    #geom :表示几何对象,负责图形渲染的类型
 ... + 
stat_XXX(...) +    #统计变换 比如求均值,求方差等,当我们需要展示出某个变量的某种统计特征的时候,需要用到统计变换
 ... +
annotate(...) +    #添加注释 #由于设置的文本会覆盖原来的图中对应的位置,可以改变文本的透明度或者颜色 例: annotate(geom='text')会向图形添加一个单独的文本对象 
 ... + 
labs(...) +    #labs(x = "这是 X 轴", y = "这是 Y 轴", title = "这是标题")
scale_XXX(...) +    #标度
coord_XXX(...) +    #调整坐标,调整坐标 coord_flip()来翻转坐标轴。使用xlim()和ylim()来设置连续型坐标轴的最小值和最大值 
guides(...) +    #调整所有的text
theme(...) +    #调整不与数据有关的图的元素的函数。theme函数采用了四个简单地函数来调整所有的主题特征:element_text调整字体,element_line调整主题内的所有线,element_rect调整所有的块,element_blank清空。theme(panel.grid =element_blank()) ## 删去网格线
facet_XXX(...)    #控制分组绘图的方法和排列形式

条形图

> x <- c('A','B','C','D','E')
> y <- c(13,22,16,31,8)
> df <- data.frame(x= x, y = y)
> df
  x  y
1 A 13
2 B 22
3 C 16
4 D 31
5 E  8
> ggplot(data = df, mapping = aes(x = x, y = y)) + geom_bar(stat= 'identity')    #对于条形图的y轴就是数据框中原本的数值时,必须将geom_bar()函数中stat(统计转换)参数设置为’identity’,即对原始数据集不作任何统计变换,而该参数的默认值为’count’,即观测数量。

输入图片说明

使用明细数据集绘制条形图:

> set.seed(1234)
> x <- sample(c('A','B','C','D'), size = 20, replace= TRUE, prob = c(0.2,0.3,0.3,0.2))
> y <- rnorm(1000) * 100
> df <- data.frame(x= x, y = y)
> head(df,20)
   x        y
1  B  -47.719
2  D  -99.839
3  D  -77.625
4  D    6.446
5  A   95.949
6  D  -11.029
7  B  -51.101
8  B  -91.120
9  D  -83.717
10 C  241.584
11 D   13.409
12 C  -49.069
13 B  -44.055
14 A   45.959
15 B  -69.372
16 A -144.820
17 B   57.476
18 B -102.366
19 B   -1.514
20 B  -93.595

© 著作权归作者所有

共有 人打赏支持
下一篇: R:tidyr包
cuyi
粉丝 0
博文 57
码字总数 29599
作品 0
广州
程序员
私信 提问
《R语言实战》第五部分第十九章-使用ggplot2进行高级绘图学习笔记

前面所有的图形都是利用R的基础绘图系统创建的,其实R的系统复杂,特别是图形系统,还有grid、lattice和ggplot2软件包也提供了图形系统,克服了R基础图形系统的低效性,大大扩展了R的绘图功能...

Datacruiser
2017/10/08
0
0
RStudio安装caret报错修复过程

版本信息: RStudio-0.99.902 R 3.2.2 install.packages('caret', dep = TRUE) 报错信息如下: 载入需要的程辑包:lattice 载入需要的程辑包:ggplot2 Error : 'namespace:stats'没有出口‘s...

espanol
2016/05/25
0
0
【r<-ggplot2】cowplot介绍

原作者: Claus O. Wilke 翻译:王诗翔 2018-07-15 cowplot是ggplot2包的一个简单插件,它的目的是为ggplot2提供一个出版级别的主题,使用少量代码即可实现主题统一的修改,如轴标签大小、画...

王诗翔
11/28
0
0
【r<-方案】如何修改画图使用的字体

这是画图时都会存在的一个困惑,今天我终于尝试搜索和解决。 默认,R分为两类作图系统,一类是base plot,另一类是非基础绘图系统,像grid,以及基于它的ggplot2等。 对于基础的绘图系统,我...

王诗翔
07/17
0
0
【r<-基础|分析】初学者学习tidyverse

是一组处理与可视化R包的集合,其中与最广为人知。 核心包有以下一些: ggplot2 - 可视化数据 dplyr - 数据操作语法,可以用它解决大部分数据处理问题 tidyr - 清理数据 readr - 读入表格数据...

王诗翔
06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【阿里面试系列】之前有人问过我一个这样的面试题

文章简介 很多人对Thread.join的作用以及实现了解得很少,毕竟这个api我们很少使用。这篇文章仍然会结合使用及原理进行深度分析 扩展阅读: 「阿里面试系列」搞懂并发编程,轻松应对80%的面试...

Java架构资源分享
9分钟前
1
0
CentOS 7.2 yum方式安装MySQL 5.7

CentOS 7.2 yum方式安装MySQL 5.7 CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变: 下载mysql的源 wget http://dev.mysql.com/get/mysql57-co...

yizhichao
10分钟前
1
0
nginx-tutorial

Nginx 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx。 demos 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果。 <!...

吴伟祥
11分钟前
2
0
分布式系统下的Session共享问题

分布式系统下的Session共享问题 分布式服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登...

晨猫
15分钟前
1
0
2018 中国短视频开发者创意大赛震撼来袭,万元现金大奖邀你来战!

当下,短视频 App 已成为各个年龄层最火最潮的应用,而在短视频行业发展如火如荼时,又掀起了一轮潮流新玩法的探讨,为短视频新形势下提供更多可能性。2018 年 12 月 3 日,中国短视频开发者...

七牛云
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部