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))#将Y轴坐标进行log10变换,自己定义颜色为彩虹色

统计变换(Statistics)

统计变换对原始数据进行某种计算,然后在图上表示出来,如对散点图上加一条回归线

> ggplot(small,aes(x=carat,y=price))+geom_point()+scale_y_log10()+stat_smooth()

这里,aes所提供的参数,就通过ggplot提供,而不是提供给geom_point,因为ggplot里的参数,相当于全局变量,geom_point()stat_smooth()都知道x,y的映射,如果只提供给geom_point(),则相当于是局部变量,geom_point知道这种映射,而stat_smooth不知道,当然你再给stat_smooth也提供x,y的映射,不过共用的映射,还是提供给ggplot好。

ggplot2提供了多种统计变换方式:

stat_abline       stat_contour      stat_identity     stat_summarystat_bin          stat_density      stat_qq           stat_summary2dstat_bin2d        stat_density2d    stat_quantile     stat_summary_hexstat_bindot       stat_ecdf         stat_smooth       stat_uniquestat_binhex       stat_function     stat_spoke        stat_vlinestat_boxplot      stat_hline        stat_sum          stat_ydensity

坐标系统(Coordinante)

坐标系统控制坐标轴,可以进行变换,如XY轴翻转,笛卡尔坐标和极坐标转换。

坐标轴翻转由coord_flip()实现

> ggplot(small)+geom_bar(aes(x=cut,fill=cut))+coord_flip()

而转换成极坐标可以由coord_polar()实现:

> ggplot(small)+geom_bar(aes(x=factor(1), fill=cut))+coord_polar(theta="y")

还可以画靶心图

> ggplot(small)+geom_bar(aes(x=factor(1), fill=cut))+coord_polar()

风玫瑰图

> ggplot(small)+geom_bar(aes(x=clarity, fill=cut))+coord_polar()

图层(Layer)

对于PS的图层概念,ggplot也能使用+号来叠加图层

分面(Facet)

分面可以让我们按照某种给定的条件,对数据进行分组,然后分别画图

> ggplot(small, aes(x=carat, y=price))+geom_point(aes(colour=cut))+scale_y_log10() +facet_wrap(~cut)+stat_smooth()

主题(Theme)

通过ggplot画图之后,我们可能还需要对图进行定制,像title, xlab, ylab这些高频需要用到的,自不用说,ggplot2提供了ggtitle(), xlab()和ylab()来实现。

但是这个远远满足不了需求,我们需要改变字体,字体大小,坐标轴,背景等各种元素,这需要通过theme()函数来完成。

ggplot2提供一些已经写好的主题,比如theme_grey()为默认主题,theme_bw()为白色背景的主题,还有theme_classic()主题,和R的基础画图函数较像。

别外ggthemes包提供了一些主题可供使用,包括:

theme_economist theme_economist_whitetheme_wsj      theme_exceltheme_few      theme_foundationtheme_igray    theme_solarizedtheme_stata    theme_tufte
> p<-ggplot(small)+geom_boxplot(aes(x=cut, y=price,fill=color))> p> require(ggthemes)载入需要的程辑包:ggthemes> p + theme_wsj()

详细说明,可以参考?theme的帮助文档

二维密度图

> ggplot(diamonds, aes(carat, price))+ stat_density2d(aes(fill = ..level..), geom="polygon")+ scale_fill_continuous(high=‘darkred‘,low=‘darkgreen‘)

时间: 2024-11-05 14:32:17

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

R包——ggplot2(一)

关于ggplot2包(一) 关于ggplot2包(一) ggplot2基本要素 数据(Data)和映射(Mapping) 几何对象(Geometric) 标尺(Scale) 统计变换(Statistics) 坐标系统(Coordinate) 图层(Layer) 分面(Facet) 主题(Theme) 数据(Data)和映射(Mapping) 下面用diamonds的数据为例,由于数据很大,随机选取一个子集进行画图 > library(ggplot2)> data(diamonds)> s

R包的安装与载入

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

R、ggplot2、shiny 汇总

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

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

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

怎么找回Eclipse 项目(工程)中丢失的R包(文件)

我想很多人也会遇到和我一样的问题,但是在短时间内不知道如何是好,只能抓耳挠腮的"狂躁"! 现在CSDN就是我的一个笔记本,我会把我在做项目中遇到的各个问题意义的列举出来: 但是总不能把自己写的项目删掉,再重新建立吧!(如果使用了SVN,可能重新再弄会轻松点)  但是我想要更加方便的方法: 一般情况下: 方法一:选中项目>clean一下 方法二:选中项目>Android Tools>Fix 一下 如果还不行的话,还有一种方式: 第一:进入你的XXX.XML文件中,首先找

R语言ggplot2 简介

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

Android 修改R包名方法

对于下面几种状况,我们可能需要修改Android项目的R包名:1.在项目不是在Maven管理之下,但又需要将同一个项目打包成多个名称不同的APK,而且还需可同时安装在同一部手机上(很诡异的要求),Android中apk的安装是根据apk当中AndroidMenifest.xml文件page属性来获取包名,安装时包名相同则会出现冲突,包名相同的后者会安装失败!2.我们对一个项目进行了复制,并进行了大范围的修改,然后打包,好吧,冲突了,因为和前一个项目的包名冲突了! android tool自带了修

R包介绍

R语言的使用,很大程度上是借助各种各样的R包的辅助,从某种程度上讲,R包就是针对于R的插件,不同的插件满足不同的需求,截至2013年3月6日,CRAN已经收录了各类包4338个. 一. R语言包的安装 1.通过选择菜单: 程序包->安装程序包->在弹出的对话框中,选择你要安装的包,然后确定. 2.使用命令 install.packages("package_name","dir") package_name:是指定要安装的包名,请注意大小写. dir:包

用R包中heatmap画热图

一:导入R包及需要画热图的数据 library(pheatmap) data<- read.table("F:/R练习/R测试数据/heatmapdata.txt",head = T,row.names=1,sep="\t") 二:画图 1)pheatmap(data)#默认参数 2)pheatmap(data,clustering_distance_rows = "correlation")#聚类线长度优化 3)pheatmap(data