文档章节

R:ggplot2包

cuyi
 cuyi
发布于 2017/02/27 19:33
字数 691
阅读 19
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
cuyi
粉丝 0
博文 40
码字总数 25974
作品 0
广州
程序员
《R语言实战》第五部分第十九章-使用ggplot2进行高级绘图学习笔记

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

Datacruiser ⋅ 2017/10/08 ⋅ 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

【r<-基础|分析】初学者学习tidyverse

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

王诗翔 ⋅ 06/03 ⋅ 0

R统计绘图(2):grid布局

前言 在本专栏的上一篇文章R统计绘图(1):ggplot2入门指南里提到,ggplot2的功能支持快速生成多张相同制作流程的统计图形,但是不能支持生成多张制作流程不同的统计图形。其实这很正常,制...

丹追兵 ⋅ 2017/11/29 ⋅ 0

R语言与统计学习攻略

一、初学入门: 《R in Action》 《The Art of_R Programming》 入门者可首选两本,前者从统计角度入手,分高中低三部分由浅入深的讲解了如何用R来实现统计分析,另外此书已经有中文版面世。...

维特的烦恼 ⋅ 2013/11/16 ⋅ 1

R-ggridges包的改进

很忙,很久没有写文章。学习R绘图,这些都是我的兴趣爱好,并非我大的主业。也被我朋友说了很多次,别做这些没用的,既不能带来实际的收益,又耽误正事的时间。 但是我可能对绘图有着某种浓烈...

张杰 ⋅ 2017/12/18 ⋅ 0

手把手 | 哇!用R也可以跑Python了

     大数据文摘作品   编译:大茜、钱天培   R还是Python?   真是个千古难题!   如果你主要从事数据分析、统计建模和可视化,R大概是你的不二之选。但如果你还想来搞点深度学...

大数据文摘 ⋅ 04/19 ⋅ 0

终于等到你——ggplot2树状图

感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 本文作者:天善智能社区专家...

天善智能 ⋅ 2017/12/06 ⋅ 0

快速学习ggplot2

R语言里面一个比较重要的绘图包——ggplot2,是由Hadley Wickham于2005年创建,于2012年四月进行了重大更新,作者目前的工作是重写代码,简化语法,方便用户开发和使用。ggplot2的核心理念是...

wzgl__wh ⋅ 2016/07/15 ⋅ 0

使用ggplot2绘制心形

作者简介Introduction 林筱越:华东政法大学 社会学专业 R语言爱好者 由于最近在学习Hadley大神的《R for data science》和Winston Chang的《R graphics cookbook》,并且受到傅兴[R图秀:情...

R语言中文社区 ⋅ 02/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 47分钟前 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部