坐标系是将两种位置标度结合在一起组成的2维定位系统。ggplot2包含了6种不同的坐标系:

名字 描述

cartesian

equal

flip

trans

map

polar

笛卡尔坐标系

同尺度笛卡尔坐标系

翻转的笛卡尔坐标系

变换的笛卡尔坐标系

地图射影

极坐标系

坐标系主要有两大功能:

  • 将2个位置图形属性组合起来在图形中形成2维方位系统。位置图形属性分别被称为x和y,但将它们称作位置1和位置2可能会更适合,因为图形位置属性的名字会随着坐标系的不同而不同。比如极坐标系中将其称作角度和半径。
  • 配合分面,坐标系将绘出坐标轴和面板背景。标度控制着坐标上出现的数值,并将数据映射到图形中的位置,然后通过坐标系将它们绘制出来。

1.笛卡尔坐标系

上表总前四种都是笛卡尔坐标系:coord_cartesian,coord_equal,coord_flip,和coord_trans。coord_cartesian有两个参数xlim和ylim。

> library(ggplot2)
> p <- qplot(disp,wt,data=mtcars) + geom_smooth()
> p> p + scale_x_continuous(limits=c(325,500))> p+coord_cartesian(xlim=c(325,500))

左图是完整的数据集,中为x的标度范围设置,右图为x轴坐标系范围设置。标度的范围设置是对数据取子集,然后再重新拟合曲线。坐标系的放缩就是图像的放缩。

> d <- ggplot(diamonds,aes(carat,price)) + stat_bin2d(bins=25,colour="grey70") + theme(legend.position="none")
> d
> d + scale_x_continuous(limits=c(0,2))> d + coord_cartesian(xlim=c(0,2))
>

左图是完整的数据集,中间是标度设置x范围,右图是x轴坐标系的范围设置。比较方块的大小,当设定标度范围时,方块的数目还是相同的,只是覆盖了更少数的区域,当设定坐标系范围时,方块数目变少,但它们覆盖的区域没变。

2.坐标轴翻转

假如对y值条件下的x值感兴趣,我们可以使用coord_flip调换x和y轴。

> qplot(displ,cty,data=mpg)+geom_smooth()> qplot(cty,displ,data=mpg)+geom_smooth()  ##直接对坐标属性进行对换> qplot(displ,cty,data=mpg)+geom_smooth()+coord_flip()  ##使用翻转函数

 

左图是原散点图相应的平滑曲线。中图互换两个属性变量,平滑曲线拟合的是旋转后的变量。右图coord_flip拟合原始数据,然后再翻转输出结果,就变成是以y为条件变量刻画x的曲线了。

3.变换

coord_trans有x和y两个参数供坐标系使用,它们都是字符串,被称作变换器。坐标系层面的变换发生再统计变换之后,会影响几何形状。我们下面比较下在标度和坐标系下的变换。

> qplot(carat,price,data=diamonds,log="xy")+geom_smooth(method="lm")
> library(scales)
> last_plot()+coord_trans(x = exp_trans(10),y=exp_trans(10))

  

左图为克拉和价格对数变换后的散点图,直线为回归曲线:log(y)=a+bXlog(x)。右图将前面的图变换回去,标度还原,因此线性趋势变成指数形式,y=k X cx 。图形很明显地揭示了克拉大、价格贵地钻石是很稀少地。

4.非笛卡尔坐标系

非笛卡尔坐标系有两种:极坐标和地图投影。利用极坐标可生成饼图玫瑰图等等,但由于角度在小地半径中比在大地半径中更难被感知,因此极坐标地视觉感官性并不佳。

> pie <- ggplot(mtcars,aes(x = factor(1),fill=factor(cyl))) + geom_bar()
> pie    ##堆叠条状图
> pie + coord_polar(theta="y") ##饼图
> pie + coord_polar()  ##牛眼图

  

转载于:https://www.cnblogs.com/lizhilei-123/p/6909067.html

R数据可视化--ggplot2定位之坐标系详解相关推荐

  1. 【Dash搭建可视化网站】项目10:疫情数据可视化大屏制作步骤详解

    疫情数据可视化大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完善 ...

  2. Python量化投资——投资组合的评价和可视化(下):使用Matplotlib生成专业的投资回测数据可视化仪表盘【源码+详解】

    使用Matplotlib生成专业的数据可视化仪表盘(下篇) 投资结果的可视化(下篇) 图表的布局规划及格式设定 图表布局 格式设定 表头和回测结果摘要信息 表1:绘制收益率曲线图 1,绘制投资收益率以 ...

  3. 如何用python画数据图-用Python如何画出数据可视化图呢?本文详解

    python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcPa ...

  4. 数据可视化之箱线图详解

    一.箱线图 箱线图(Box-plot)又称盒须图.盒式图或箱形图,是一种用作显示一组数据分散情况资料的统计图,在数据分析中经常被使用到,可以被用于异常值的检测. 通过箱线图可以很容易找到数据中的异常值 ...

  5. R语言数据可视化 ggplot2基础4 位置与坐标系

    R语言数据可视化 ggplot2基础4 位置与坐标系 我们继续使用ggplot2::diamonds介绍position. position = "identity" ggplot ...

  6. R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介

    R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...

  7. R语言数据可视化 ggplot2基础3 添加几何对象

    R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...

  8. R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet

    R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...

  9. R数据可视化手册pdf

    下载地址:网盘下载 内容简介  · · · · · · R具有强大的统计计算功能和便捷的数据可视化系统.<R数据可视化手册>重点讲解R的绘图系统,指导读者通过绘图系统实现数据可视化. 书中 ...

最新文章

  1. php对象的底层机制
  2. shell 编程中空格的使用,双引号,单引号,反引号
  3. Guava Cache用法介绍
  4. 如何通过 .NETCore 获取 Linux,Mac 的硬件信息?
  5. 在Linux系统安装Nginx及配置https加密访问
  6. win环境sftp软件_WinSCP中文版
  7. dart 怎么判断function的返回值为空_R 学习-第二章第二节- 尝试写个Function,超级菜鸟教程...
  8. 清理 Xcode 10
  9. java 对象与二进制互转
  10. 【附源码】计算机毕业设计java业俊宾馆客房管理系统设计与实现
  11. 杰理之AUDIO_DAC【篇】
  12. 为什么要统一 API 网关
  13. 什么是云中台系统_什么是云中的超融合?
  14. Servlet思维导图总结
  15. 考研数一英语二计算机,考研常识 | 我是考英语一还是英语二?数一二三都有什么区别...
  16. httpServer / proxyServer / nginx 1.7.9
  17. Python自动化控制鼠标和键盘操作—— PyAutoGUI
  18. IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
  19. 根据离散点画直线,iOS离散点画曲线
  20. 立业先修身,成才先成人--谈谈博客新人的品行素养

热门文章

  1. Linux 下ntpdate网络校时使用
  2. VS2005 实用快捷键,迅速提高代码编写效率!
  3. windows环境运行MongoDB
  4. 没完没了的Cookie,读懂asp.net,asp等web编程中的cookies
  5. pythonfile操作教程_Python基础教程之文件操作
  6. excel2010设置列宽为像素_怎么改变Excel中列宽的像素
  7. echart横轴文字显示省略号_echarts X轴显示不全 有省略
  8. java 调内存_java内存设置
  9. EEMD算法的基本原理
  10. 记得【黑镜】中的Whac-A-Mole游戏吗?HoloLens实现了!