R包——ggplot2(一)

关于ggplot2包(一)

关于ggplot2包(一)

ggplot2基本要素

  • 数据(Data)和映射(Mapping)
  • 几何对象(Geometric)
  • 标尺(Scale)
  • 统计变换(Statistics)
  • 坐标系统(Coordinate)
  • 图层(Layer)
  • 分面(Facet)
  • 主题(Theme)

数据(Data)和映射(Mapping)

下面用diamonds的数据为例,由于数据很大,随机选取一个子集进行画图

> library(ggplot2)> data(diamonds)> set.seed(42)#设定生成随机数的种子,使结果具有重复性> small<-diamonds[sample(nrow(diamonds),1000),]#抽样> head(small)      carat       cut color clarity depth table price    x    y    z49345  0.71 Very Good     H     SI1  62.5    60  2096 5.68 5.75 3.5750545  0.79   Premium     H     SI1  61.8    59  2275 5.97 5.91 3.6715434  1.03     Ideal     F     SI1  62.4    57  6178 6.48 6.44 4.0344792  0.50     Ideal     E     VS2  62.2    54  1624 5.08 5.11 3.1734614  0.27     Ideal     E     VS1  61.6    56   470 4.14 4.17 2.5627998  0.30   Premium     E     VS2  61.7    58   658 4.32 4.34 2.67

summary一下

> summary(small)     carat               cut      color      clarity        depth       Min.   :0.2200   Fair     : 28   D:121   SI1    :258   Min.   :55.20   1st Qu.:0.4000   Good     : 88   E:186   VS2    :231   1st Qu.:61.00   Median :0.7100   Very Good:227   F:164   SI2    :175   Median :61.80   Mean   :0.8187   Premium  :257   G:216   VS1    :141   Mean   :61.71   3rd Qu.:1.0700   Ideal    :400   H:154   VVS2   : 91   3rd Qu.:62.50   Max.   :2.6600                   I:106   VVS1   : 67   Max.   :72.20                                    J: 53   (Other): 37                       table           price               x               y         Min.   :50.10   Min.   :  342.0   Min.   :3.850   Min.   :3.840   1st Qu.:56.00   1st Qu.:  989.5   1st Qu.:4.740   1st Qu.:4.758   Median :57.00   Median : 2595.0   Median :5.750   Median :5.775  

Mean   :57.43   Mean   : 4110.5   Mean   :5.787   Mean   :5.791   3rd Qu.:59.00   3rd Qu.: 5495.2   3rd Qu.:6.600   3rd Qu.:6.610   Max.   :65.00   Max.   :18795.0   Max.   :8.830   Max.   :8.870  

z         Min.   :2.330   1st Qu.:2.920   Median :3.550   Mean   :3.572   3rd Qu.:4.070   Max.   :5.580  

以克拉(carat)数为X轴变量,价格(price)为Y轴变量

> p<-ggplot(data=small,mapping=aes(x=carat,y=price))#将数据映射到XY坐标轴上

下面,画出散点图

> p+geom_point()

如果想把切工(cut)映射到形状属性:

> p<-ggplot(data=small,mapping=aes(x=carat,y=price,shape=cut))> p+geom_point()

如果想再将颜色(color)映射颜色属性:

> p<-ggplot(data=small,mapping=aes(x=carat,y=price,shape=cut,colour=color))> p+geom_point()

几何对象(Geometric)

在上面的例子,各种属性映射都由ggplot函数执行,只需要加一个图层,使用geom_point()告诉ggplot要画散点图,于是所有的属性都映射到散点上。

再如geom_histogram用于直方图,geom_bar用于画柱状图,geom_boxplot用于画箱式图等。

上图,也可以用下面代码,来画

> p<-ggplot(small)> p+geom_point(aes(x=carat,y=price,shape=cut,colour=color))

直方图

>ggplot(small)+geom_histogram(aes(x=price))

同样可以根据另外的变量给它填充颜色

>ggplot(small)+geom_histogram(aes(x=price,fill=cut))

同样,可以将它们分开

>ggplot(small)+geom_histogram(aes(x=price, fill=cut), position="dodge")

还可以按照相对比例来画,

>ggplot(small)+geom_histogram(aes(x=price, fill=cut), position="fill")

柱状图

> ggplot(small)+geom_bar(aes(x=clarity))

通过stat参数,可以让geom_bar按指定高度画图,

> ggplot()+geom_bar(aes(x=c(LETTERS[1:3]),y=1:3), stat="identity")

密度函数图

> ggplot(small)+geom_density(aes(x=price, colour=cut))

> ggplot(small)+geom_density(aes(x=price,fill=clarity))

colour参数指定的是颜色,fill是往曲线下面填充颜色

箱式图

> ggplot(small)+geom_boxplot(aes(x=cut, y=price,fill=color))

下面是各种geom_xxx函数

geom_abline    geom_area  

geom_bar       geom_bin2d

geom_blank     geom_boxplot  

geom_contour   geom_crossbar

geom_density   geom_density2d   

geom_dotplot   geom_errorbar

geom_errorbarh    geom_freqpoly 

geom_hex       geom_histogram

geom_hline     geom_jitter   

geom_line      geom_linerange

geom_map       geom_path  

geom_point     geom_pointrange

geom_polygon   geom_quantile 

geom_raster    geom_rect

geom_ribbon    geom_rug   

geom_segment   geom_smooth

geom_step      geom_text  

geom_tile      geom_violin

geom_vline

时间: 2024-10-26 14:51:22

R包——ggplot2(一)的相关文章

R包——ggplot2(二)

关于ggplot包(二) 关于ggplot包(二) 标尺(Scale) 从前面可以看到,画图其实就是在做映射,不管是映射到不同的几何对象上,还是映射各种图形属性.在对图形属性进行映射之后,使用标尺可以控制这些属性的显示方式,如坐标刻度,如颜色属性. > ggplot(small)+geom_point(aes(x=carat,y=price,shape=cut,colour=color))+scale_y_log10()+scale_colour_manual(values=rainbow(7)

R、ggplot2、shiny 汇总

前言: 大家应该都知道,ggplot2 和 shiny 都是R语言七大武器之一,虽然它们的能力很流逼,也出来"行走江湖"多年,但是在国内相关的知识分享还是比较少.很多时候遇到问题不得不翻墙搜索,所以尽管自己资历尚浅,但我还是很希望能够将自己的知识点做个总结分享,希望对后来之人有所帮助! 因为最近工作比较忙,没有集中的时间跟精力,所以改变了一下写博客的方式:减小博客篇幅,然后用索引的方式总结.分享一下关于R.ggplot2.shiny的各种知识点. 1.ggplot2--图例篇:http

R语言ggplot2 简介

ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统: ggplot2 有以下几个特点: 1) 图形映射, 自动化的将数据映射到图形上: 2) 图层叠加, 将不同形状的图表视为图层(layer),  可以方便的进行叠加 3)提供了范围控制(scale), 坐标系转换(coord), 分面(facet)等特性: 先看一个最简单的例子,用ggplot2 绘制一副散点图: 代码示例: libr

ML: 聚类算法R包-对比

测试验证环境 数据: 7w+ 条,数据结构如下图: > head(car.train) DV DC RV RC SOC HV LV HT LT Type TypeName 1 379 85.09 0.00 0.0 62.99 3.99 0.00 12 0 10f689e8-e6cc-47a3-be5a-dbc3833428ef EV200 2 379 85.09 370.89 59.9 63.99 4.01 0.00 12 0 10f689e8-e6cc-47a3-be5a-dbc3833428

R(三): R包原理及安装

包(package)是多个函数的集合,常作为分享代码的基本单元,代码封装成包可以方便其他用户使用.越来越多的R包正在由世界上不同的人所创建并分发,这些分发的R包,可以从CRAN 或 github 上获取,由于向 CRAN 提交包审核非常严格,有些开发者并没有将自己开发的R包提至CRAN的意向,通过 devtools 可以轻松从 github上下载安装.包的生命周期一般会经历 source.bundled.binary.installed和in-memory五个阶段.参考资料 (http://r-

R包的安装与载入

R包的安装与载入 R语言 包的安装 R自带了一系列默认包,包括 base.datasets .utils. grDevices.graphics .stats 以及methods,它们提供了种类繁多的默认函数和数据集.其他包可以通过下载来进行安装. 方法一:通过install.packages命令 install.packages("package_name") # 安装包 install.packages(c("package_name1", "pack

eclipse项目中丢失的R包找回方法

当我们项目中的R文件丢失的时候会令我们痛苦不已,怎样找回呢?总不能删了吧,那样心血会毁于一旦的,我们肯定不会那样做,那要怎么办呢?我这里提供三种方法: ?一,一般情况下这样: ?    ?方法一:选中项目clean一下: ?    ?方法二:选中项目然后右击找到Android Tool再Fix一下: ?二,第二种情况下: ?    ?1,找到你的xxx.xml文件,首先找到报错的,把错误改正过来,这样应该就可以了. ?    ?2,如果第一种方法不行,就把自己的xxx.xml文件都改动改动,然后

用?M?y?E?c?l?i?p?s?e? ?打?成?J?A?R?包

用?M?y?E?c?l?i?p?s?e? ?将自定义标签打?成?J?A?R?包 1.新建一个java工程 2.将标签有关的java代码复制到新建java工程的一个包中,这时会报错,不用管. 3.在该工程下新建一个META-INF目录,将标签的配置文件拷贝进去,到此准备工作完成 4.在工程名上右键,点击导出------>java------>jar文件------>next------>取消classpath和project------>选择jar文件的放置目录------&g

如何将R包安装到自定义路径

参考  设置环境变量R_LIBS将R包安装到自定义路径   实际上是可以解决问题的, #环境变量完成以后,启动(重启)R,运行 .libPaths() 加载R包时,发现路径仍然未变成自定义的. 那么参考  quantreg软件包加载失败.是要改路径么?新手求帮忙 开启R的时候用管理者身份打开[鼠标右键RStudio→以管理者身份运行],再运行,就会发现路径自定义成功. .libPaths()