R数据可视化--ggplot2定位之坐标系详解
坐标系是将两种位置标度结合在一起组成的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定位之坐标系详解相关推荐
- 【Dash搭建可视化网站】项目10:疫情数据可视化大屏制作步骤详解
疫情数据可视化大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完善 ...
- Python量化投资——投资组合的评价和可视化(下):使用Matplotlib生成专业的投资回测数据可视化仪表盘【源码+详解】
使用Matplotlib生成专业的数据可视化仪表盘(下篇) 投资结果的可视化(下篇) 图表的布局规划及格式设定 图表布局 格式设定 表头和回测结果摘要信息 表1:绘制收益率曲线图 1,绘制投资收益率以 ...
- 如何用python画数据图-用Python如何画出数据可视化图呢?本文详解
python画分布图代码示例: # encoding=utf-8 import matplotlib.pyplot as plt from pylab import * # 支持中文 mpl.rcPa ...
- 数据可视化之箱线图详解
一.箱线图 箱线图(Box-plot)又称盒须图.盒式图或箱形图,是一种用作显示一组数据分散情况资料的统计图,在数据分析中经常被使用到,可以被用于异常值的检测. 通过箱线图可以很容易找到数据中的异常值 ...
- R语言数据可视化 ggplot2基础4 位置与坐标系
R语言数据可视化 ggplot2基础4 位置与坐标系 我们继续使用ggplot2::diamonds介绍position. position = "identity" ggplot ...
- R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介
R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...
- R语言数据可视化 ggplot2基础3 添加几何对象
R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...
- R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet
R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...
- R数据可视化手册pdf
下载地址:网盘下载 内容简介 · · · · · · R具有强大的统计计算功能和便捷的数据可视化系统.<R数据可视化手册>重点讲解R的绘图系统,指导读者通过绘图系统实现数据可视化. 书中 ...
最新文章
- php对象的底层机制
- shell 编程中空格的使用,双引号,单引号,反引号
- Guava Cache用法介绍
- 如何通过 .NETCore 获取 Linux,Mac 的硬件信息?
- 在Linux系统安装Nginx及配置https加密访问
- win环境sftp软件_WinSCP中文版
- dart 怎么判断function的返回值为空_R 学习-第二章第二节- 尝试写个Function,超级菜鸟教程...
- 清理 Xcode 10
- java 对象与二进制互转
- 【附源码】计算机毕业设计java业俊宾馆客房管理系统设计与实现
- 杰理之AUDIO_DAC【篇】
- 为什么要统一 API 网关
- 什么是云中台系统_什么是云中的超融合?
- Servlet思维导图总结
- 考研数一英语二计算机,考研常识 | 我是考英语一还是英语二?数一二三都有什么区别...
- httpServer / proxyServer / nginx 1.7.9
- Python自动化控制鼠标和键盘操作—— PyAutoGUI
- IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
- 根据离散点画直线,iOS离散点画曲线
- 立业先修身,成才先成人--谈谈博客新人的品行素养
热门文章
- Linux 下ntpdate网络校时使用
- VS2005 实用快捷键,迅速提高代码编写效率!
- windows环境运行MongoDB
- 没完没了的Cookie,读懂asp.net,asp等web编程中的cookies
- pythonfile操作教程_Python基础教程之文件操作
- excel2010设置列宽为像素_怎么改变Excel中列宽的像素
- echart横轴文字显示省略号_echarts X轴显示不全 有省略
- java 调内存_java内存设置
- EEMD算法的基本原理
- 记得【黑镜】中的Whac-A-Mole游戏吗?HoloLens实现了!