ggplot2 上篇
title: "ggplot2 上篇"
author: "li_volleyball"
date: "2016年4月16日"
output: word_document
单变量
连续
library(ggplot2)
a<-ggplot(mpg,aes(hwy))
a+geom_area(stat = 'bin')

a+geom_area(stat = 'bin',binwidth=20)
a+geom_area(stat = 'bin',color='red')
a+geom_area(stat = 'bin',fill='yellow',color='black')
a+geom_area(stat = 'bin',fill='yellow',color='black',linetype=2,size=2)
b<-ggplot(mpg,aes(hwy))
b+geom_area(aes(y=..density..),stat='bin')
a+geom_density(kernel="gaussian")
a+geom_dotplot()
a+geom_freqpoly()
a+geom_histogram(binwidth = 5)
离散
b1<-ggplot(mpg,aes(fl))
b1+geom_bar()
a+geom_bar()
Graphical Primitives
library(maps)
world_map<-map_data("world")
c<-ggplot(world_map,aes(long,lat))
c+geom_polygon(aes(group=group))
d<-ggplot(economics,aes(date,unemploy))
d+geom_path()
d+geom_ribbon(aes(ymin=unemploy-900,ymax=unemploy+900))
e<-ggplot(seals,aes(x=long,y=lat))
e+geom_segment(aes(xend=long+delta_long,yend=lat+delta_lat),
arrow = arrow(length = unit(0.1,"cm"))) +
borders("state")
e+geom_rect(aes(xmin=long,ymin=lat,xmax=long+delta_long,ymax=lat+delta_lat))
双变量
连续x,连续y
f<-ggplot(mpg,aes(cty,hwy))
f+geom_blank() #清空图层
f+geom_point() #绘制散点图
f+geom_point(aes(shape=factor(cyl)))
f+geom_point(aes(colour=factor(model)))
f+geom_jitter() #通过在离散型分布上添加随机噪声以避免遮盖绘制问题
f+geom_jitter(aes(colour=factor(cyl)))+geom_quantile()
#引入线性分位回归,quantile regression
m <- ggplot(mpg, aes(displ, 1 / hwy)) + geom_point()
m
m + geom_quantile()
m + geom_quantile(quantiles = 0.5)
q10 <- seq(0.05, 0.95, by = 0.05)
m + geom_quantile(quantiles = q10)
m + geom_quantile(colour = "red", size = 2, alpha = 0.5)
f+geom_jitter()+geom_rug(sides = "bl") # bl bottom/left
f+geom_smooth(span=2)
f+geom_jitter()+geom_smooth(span=2)
f+geom_jitter()+geom_smooth(span=2,method = "lm",se=F)
f+geom_text(aes(label=cty))
f+geom_jitter(aes(colour=factor(cty)))+geom_text(aes(label=cty))
x离散 y连续
g<-ggplot(mpg,aes(class,hwy))
g+geom_bar(stat="identity")
g+geom_boxplot(aes(colour=factor(class)))
g+geom_dotplot(binaxis = "y",stackdir = "center",aes(colour=factor(class)))
g+geom_violin(scale = "area",aes(fill=factor(class)))
x离散 y离散
h<-ggplot(diamonds,aes(cut,color))
h+geom_jitter(aes(colour=factor(cut)))
连续二维分布
i<-ggplot(diamonds, aes(x, y)) + xlim(4, 10) + ylim(4, 10)
i+geom_jitter()
i+geom_bin2d()
i+ geom_bin2d(bins = 10)
i + geom_bin2d(bins = 30)
i+geom_bin2d(binwidth=c(0.1,0.1))
i+geom_density2d()
i+geom_hex() #六边形
连续函数
j<-ggplot(economics,aes(date,unemploy))
j+geom_area()
j+geom_line()
j+geom_step(direction="hv")
可视化误差 error
df <- data.frame(grp = c("A", "B"), fit = 4:5, se = 1:2)
k <- ggplot(df, aes(grp, fit, ymin = fit-se, ymax = fit+se))
k+geom_crossbar(fatten=2)
k+geom_errorbar()
k+geom_linerange()
k+geom_pointrange()
地图
data <- data.frame(murder = USArrests$Murder,
state = tolower(rownames(USArrests)))
head(data)
map <- map_data("state")
head(map)
l <- ggplot(data, aes(fill = murder))
l + geom_map(aes(map_id = state), map=map)+expand_limits(x= map$long, y= map$lat)
三变量
head(seals)
seals$z <- with(seals, sqrt(long^2 +lat^2))
m <- ggplot(seals, aes(long, lat))
m + geom_contour(aes(z = z))
m + geom_raster(aes(fill = z), hjust=0.5,vjust=0.5, interpolate=FALSE) #光栅
m + geom_tile(aes(fill = z)) #瓦片
ggplot2 上篇的更多相关文章
- 跟我一起ggplot2(1)
ggplot2 R的作图工具包,可以使用非常简单的语句实现非常复杂漂亮的效果. qplot 加载qplot library(ggplot2) # 测试数据集,ggplot2内置的钻石数据 qplot( ...
- 看看C# 6.0中那些语法糖都干了些什么(上篇)
今天没事,就下了个vs2015 preview,前段时间园子里面也在热炒这些新的语法糖,这里我们就来看看到底都会生成些什么样的IL? 一:自动初始化属性 确实这个比之前的版本简化了一下,不过你肯定很好 ...
- R语言:ggplot2精细化绘图——以实用商业化图表绘图为例
本文版权归http://www.cnblogs.com/weibaar 本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从exce ...
- .Net开发笔记(十四) 基于“泵”的UDP通信(接上篇)
上一篇中说到了“泵”在编程中的作用以及一些具体用处,但没有实际demo,可能不好理解,这篇文章我分享一个UDP通信的demo,大概实现了类似“飞鸽传书”在局域网中文本消息和文件传输的功能.功能不全也不 ...
- ASP.NET Core的配置(4):多样性的配置来源[上篇]
较之传统通过App.config和Web.config这两个XML文件承载的配置系统,ASP.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命 ...
- ASP.NET Core的配置(3): 将配置绑定为对象[上篇]
出于编程上的便利,我们通常不会直接利用ConfigurationBuilder创建的Configuration对象读取某个单一配置项的值,而是倾向于将一组相关的配置绑定为一个对象,我们将后者称为Opt ...
- 谈谈基于OAuth 2.0的第三方认证 [上篇]
对于目前大部分Web应用来说,用户认证基本上都由应用自身来完成.具体来说,Web应用利用自身存储的用户凭证(基本上是用户名/密码)与用户提供的凭证进行比较进而确认其真实身份.但是这种由Web应用全权负 ...
- Sass-也许你想和CSS玩耍起来(上篇)
我们努力,我们坚持,共勉! 众所周知,css其实不是一门编程语言,熟悉的人都知道css全称Cascading Style Sheets(层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用) ...
- ggplot2 多图排版
和R自带的绘图系统不同,ggplot2不能直接通过par(mfrow) 或者 layout()来排版多张图片.终于发现,其实可以通过一个『gridExtra』包来搞定: require(gridExt ...
随机推荐
- dedecms /member/resetpassword.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 DEDEcms SQL注入漏洞导致可以修改任意用户密码 2. 漏洞触发条 ...
- Guava的异常工具类--Throwables
Guava为我们提供了一个非常方便并且实用的异常处理工具类:Throwables类. 这个类的API可以参见:http://docs.guava-libraries.googlecode.com/gi ...
- Linux之:Ubuntu速学笔记(2)
撰写日期:2016-7-3 18:20:39 基本内容包括:Flash player安装.编译安装PHP.写个简单的PHP程序:Java程序(Java需要使用“javac”命令编译一下才能执行) 一. ...
- System.IO.Directory.Delete目录删除
在程序运行的时候,如果直接获取一个目录路径,然后执行删除(包括子目录及文件): System.IO.Directory.Delete(path,true); 或者 System.IO.Director ...
- 和redis谈一场恋爱(第一天邂逅)
前几天玩了下Memcache,发现挺好用.知道redis是Memcache的妹妹.我本着大公无私和博大的胸怀,看着redis孤零零的躺在角落里,委实觉得可怜.心里总有个声音在说,你既然已经爱上了Mem ...
- SaltStack项目实战(七)
上文 http://www.cnblogs.com/shhnwangjian/p/6027992.html 四.memcached 1)创建www用户 mkdir -p /srv/salt/prod/ ...
- 签名有元程序集 Signed Friend Assemblies
下面的例子演示了创建签名程序集和有元程序集.这就要求两个程序集都是强命名,在下面的例子中,两个程序集都用了同一个秘钥,也可以用不同的秘钥. 1. 生成秘钥, 这个在前面的博客中有说明,生成秘钥文件sn ...
- Eclipse学习笔记——快捷键
alt+/ 直接呼出要重写的方法 ctrl+1 快速修复(没导包,没抛出异常等等) ctrl+shift+o 导包 ctrl+shift+F 格式化代码块(自动给代码排版) alt+方向键 向前向后( ...
- centos6.5yum方式升级内核
升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key,如下:rpm -import https://www.elrepo.org/RPM-GPG-KEY-elr ...
- centos忘记开机密码
系统:centos6.6,忘记开机密码,进入单用户模式进行重置,以下为操作过程. 1. reset(重启)Linux系统,在出现如下图的界面时,请点Enter键,确保一定要快,只存在几秒.. 2.点击 ...