R数据可视化--ggplot2定位之分面

分面也就是切割数据生成一系列小联号图,每个小图表示不同的数据子集。本篇将讨论如何较好的微调分面,特别是与位置标度相近的方法。

在qplot中可以选择分面系统。2维分面使用face_grid,1维分面使用face_wrap。

分面通常会占用大量空间,因此本篇使用mpg数据集的子集来进行展示。

> library(ggplot2)
> mpg2 <- subset(mpg,cyl != 5 &drv %in% c("4","f"))

  1.网格分面

网格分面在2维网格中展示图形,输入分面表达式时,你需要设定哪些变量作为分面绘图的行,哪些变量作为列,规则如下:

  • 不进行分面,我们将得到一个单独的面板
> qplot(cty,hwy,data=mpg2) + facet_null()

  

  • 一行多列 :". ~ a"

电脑屏幕通常较宽,因此这个方向最合适数据的展示。另外,因为坐标轴相同,这个方向也有助于y位置的比较。

 qplot(cty,hwy,data=mpg2) + facet_grid(. ~ cyl)

  

  • 一列多行:"b ~ ."

横坐标轴相同,利于x位置的比较,尤其是对数据分布的比较。

> qplot(cty,data=mpg2,geom="histogram",binwidth=2) + facet_grid(cyl ~ .)

  

  • 多行多列:"a ~ b"

我们通常都将因子水平数目最大的变量按列排放,这样可以充分利用屏幕的宽高比。

> qplot(cty,hwy,data=mpg2) + facet_grid(drv ~ cyl)

  

从以上图形我们可以看出,变量在某行或者某列一起出现时,图形只会展示数据中出现的变量组合。而变量在行和列都出现时,图形将展示所有变量组合,包括原始数据中都没有出现的组合。不过这也可能会导致出现空白面板。

边际图:可以参考margins来绘制边际图。设定margins=TRUE可展示所有的边际图,或者margins=c("sex","age"),列出你要展示的边际图的变量名称。也可以使用grand_row或grand_col来生成行或列的边际图。

边际图的分组方式与其他面板中分组方式相同:默认使用图层中所有分类变量的交互作用。下面第三张图表示对每个驱动类型添加彩色平滑线。

> p <- qplot(displ,hwy,data=mpg2) + geom_smooth(method = "lm",se=F)
> p + facet_grid(cyl ~ drv)
> p + facet_grid(cyl ~ drv,margins = T)

> qplot(displ,hwy,data=mpg2) + geom_smooth(aes(colour=drv),method="lm",se=F)+
+ facet_grid(cyl ~ drv,margins=T)

  

时间: 05-21

R数据可视化--ggplot2定位之分面的相关文章

第三篇:数据可视化 - ggplot2

前言 R语言的强大之处在于统计和作图.其中统计部分的内容很多很强大,因此会在以后的实例中逐步介绍:而作图部分的套路相对来说是比较固定的,现在可以先对它做一个总体的认识. 在上一篇文章中,介绍了使用graphics库进行绘图的方法,而本文将引入一个更为强大的库 --- ggplot2,它能做出各式各样,非常酷炫的统计图(甚至地图,热图等). 本文将结合一个实际项目中的例子讲解如何使用ggplot2绘图. ggplot绘图总体步骤 1. 调用ggplot函数设置图形基本信息 --- 如:使用的数据集

R数据可视化第二弹---ggplot2工具箱

ggplot2工具箱 ggplot2的图层化架构让我们以一种结构化的方法来设计和构建图形,这里每一小节解决一个特定的作图问题. 1.基本图形类型 geom_area()用于绘制面积图 geom_bar(stat="identity")绘制条形图,我们需要指定stat="identity",因为默认的统计变换会自动对值进行计数. geom_line()绘制线条图,从左到右连接 geom_point()绘制散点图 geom_polygon()绘制多边形 geom_tex

地铁译:Spark for python developers ---Spark处理后的数据可视化

spark for python developer 一书,说实在的,质量一般,但勉强可以作为python 工程师的入门资料,至此,这一时段的地铁译结束了,开始新的阅读旅程-- 对于 Python 的图形绘制和可视化, 有大量的工具和库,和我们最相关并且有趣的是:? ? Matplotlib 是Python 绘图库的鼻祖. Matplotlib 最初7由 John Hunter 创作, 他是开源软件的支持者,建立的 Matplotlib 是学术界和数据科学界最流行的绘图库之一. Matplotl

R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从excel转ggplot2的各位,有比较频繁的作图需求的人.不讨论那些样式非常酷炫的图表,以实用的商业化图表为主.包括以下结构: 1.画图前的准备:自定义ggplot2格式刷 2.画图前的准备:数据塑形利器dplyr / tidyr介绍 3.常用的商业用图: 1)简单柱形图+文本(单一变量) 2)分面柱形图(facet_wrap/facet_grid) 3)簇型柱形图(posi

四种典型大数据可视化交互模式及实例

大数据可视化交互设计中,有四种比较典型的交互模式,解决数据的复杂性问题.分别是动态改变视图.多视图关联.视图内容约减.焦点+上下文. 动态改变视图 动态改变视图:导航 动态改变视图:多属性排序 多视图关联 多视图是指将显示区域划分为多个视图或图层,是降低数据复杂性的一种方式.它包括采用同一编码方式编码多个数据子集的小多组图,以及采用不同的编码方式编码同一数据集的多样式图(多视图). 并列放置:便于对比,但需要更大的显示空间 图层叠加:图层数量有较大的限制 概览图和细节图采用相同的编码方式,解决数

数据挖掘工程师如何选择数据可视化工具?

如何选择数据可视化工具? 如何选用数据可视化工具?在回答这个问题之前现需要回答另外一个问题,你需要用这些数据可视化工具来做什么,实现什么目的. 也许你有一个完整的想法,已经通过验证了,需要用更直观易懂的方式来展现,从而讲述一个逻辑或者是一个故事:也许你是有大量的数据,你想怎么从这些数据中间发现,挖掘,并展现一些数据背后的知识或者洞察:也许你是有各种各样的数据,但是你不懂数据建模,编程,或者数据清洗,甚至是SQL的优化等你需要一个易用的数据可视化工具实现通过拖拽就能完成数据的可视化,并且可以给出最

地理数据可视化:Simple,Not Easy

如果要给2015年的地理信息行业打一个标签,地理大数据一定是其中之一.在信息技术飞速发展的今天,“大数据”作为一种潮流铺天盖地的席卷了各行各业,从央视的春运迁徙图到旅游热点预测,从大数据工程师奇货可居到马云布道“DT”时代,“大数据”被推到了一个前所未有的高度,连国家领导人出访演讲都言必称大数据.地理信息数据天生具有大数据属性,作为整天和地理信息数据打交道的地信人自然不甘落后,地理大数据概念脱颖而出. 地理大数据是什么?大体来说就是把社会经济.自然资源.商业信息等但凡具有一点空间维度的数据一股脑

数据可视化简介

数据可视化参考流程 科学可视化的早期可视化流水线,描述了从数据空间到可视空间的映射,包含串行处理数据的各个阶段: 原始数据->数据分析->预处理数据->过滤->关注数据->映射->几何数据->绘制->图像数据 而后Card,Mackinlay,Shneiderman等人提出了信息可视化参考流程,后继几乎所有著名的信息科石化系统和工具都支持这个模型. 数据可视化设计的层次嵌套模型 第一层(问题刻画层):概括现实生活中用户遇到的问题: 第二层(抽象层):抽象相应

CSDN开源夏令营 百度数据可视化实践 ECharts(6) 期中总结

期中总结 (1)首先感谢林峰老师的辛勤指导!! 通过半个多月的培训,林峰老师讲解了ECharts总体框架和其中各个部分:图类.组件.接口.基础库的具有应用方法和应该把握的细节,并通过实际的例子熟悉和掌握各个控件.只有打牢基础才能正正的为下步的工作做好准备,熟练的属性代码的编程技巧,才能做出更好的专题. (2)第一次任务重点总结: 要求:了解ECharts特性中列举的每一项特性,并能找到实例中的例子,并且在实例中操作. 重点问题: 1)ECharts一种支持多少种图表?有多少个组件?列举出中英文名