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

我们继续使用ggplot2::diamonds介绍position。


position = “identity”

ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = cut), position = "identity")


另外,我们对每一个直方还可以根据另外的变量进行划分,比如用下面的代码,我们可以展示每一种净度在不同档次的切工中所占比率。

ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = clarity), position = "identity")


position = “fill”

这种position关系可以用在sub-category比率在组间的横向比较,比如要比较钻石净度在不同切工中所占比率,我们可以用下面的代码:

ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = clarity), position = "fill")


position = “dodge”

虽然上面那张图可以让我们做净度的横向比较了,但这张图还是比较丑的,而且我们比较熟悉的不太一样,我们比较熟悉的分category和sub-category展示的直方图是用下面的代码得到的:

ggplot(data=diamonds)+geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")


position = “jitter”

这种位置关系比较特殊,它的作用是给每一个数据点加上一点随机噪声,我们用上上讲的散点图为例:

ggplot(data = mpg)+geom_point(mapping = aes(x=displ,y=hwy),position="identity")

ggplot(data = mpg)+geom_point(mapping = aes(x=displ,y=hwy),position="jitter")

identity的position导致取值相同的点会重合在一起,看上去就像一个点一样,这不利于我们发现数据是否存在聚类;jitter给点加上随机噪声后能让取值相同的点重叠但不重合,所以能够看出数据的集中性。



关于坐标系,我们之前介绍过两种,对数坐标与笛卡尔坐标,笛卡尔坐标就是直角坐标,用

coord_cartesian()

表示;对数坐标就是基于直角坐标做scaling,用下面的代码实现

scale_y_log10()
scale_x_log10()
coord_cartesian()

我们再另外介绍三种坐标操作,


交换xxx与yyy轴的位置:

coord_flip()

ggplot(data = mpg,mapping = aes(x=class,y=hwy))+geom_boxplot()

ggplot(data = mpg,mapping = aes(x=class,y=hwy))+geom_boxplot()+coord_flip()


画真实的地图

coord_quickmap()

install.packages("maps")
library(maps)
World <- map_data("world")
ggplot(World, aes(long,lat,group = group))+geom_polygon(fill = "white", color = "black")+coord_quickmap()


极坐标

coord_polar()

World <- map_data("world")
ggplot(World, aes(long,lat,group = group))+geom_polygon(fill = "white", color = "black")+coord_polar()

R语言数据可视化 ggplot2基础4 位置与坐标系相关推荐

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

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

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

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

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

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

  4. 半折预售:新书-R语言数据可视化之美|ggplot2作者推荐

    我本来想等正式发售的时候,再告诉大家我的新书<R语言数据可视化之美>已经出版,奈何新书还太贵,这几天刚好京东有买100减50的活动,所以想想还是赶紧告诉大家吧,不然平时购买的话,太真有点小 ...

  5. r语言liftchart_最棒的7种R语言数据可视化

    随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在可视化的技术实现之前,让我们 ...

  6. R语言数据可视化——图形色彩设计(调色盘)

    R语言数据可视化--图形色彩设计 图形颜色的选择对我们最终图形呈现的效果影响很大,我们需要用到的图形配色也跟随着图形出现的场合而变化,这篇文章整理了前辈们制作的在ggplot包绘制图形时,常常使用的配 ...

  7. 推荐:一本“高颜值”的R语言数据可视化图书(包邮送3本)

    文章留言点赞前3名的朋友,每人送1本<R语言数据化可视化之美增强版>,名单揭晓日期为:本周日 (2020年7月12日晚7点).到时,获奖的朋友可以直接添加微信:meta-genomics, ...

  8. r 语言ylim = c(0 1),小白R语言数据可视化进阶练习一

    原标题:小白R语言数据可视化进阶练习一 作者:路遥马亡R语言中文社区专栏作者 知乎ID: https://zhuanlan.zhihu.com/c_135409797 00 布局参数 先介绍一个布局参 ...

  9. R语言数据可视化中颜色设置

    R语言数据可视化中颜色设置 最近在学统计学,使用的是R语言,为了更好的掌握这门语言,就把学到的零碎知识记录下来. 下面全是R语言的颜色的内容: 一.颜色的种类: 一共有颜色种类657种 colors( ...

最新文章

  1. HTTP隧道工具HTTPTunnel
  2. Spring boot错误处理原理
  3. unity随笔(1)-材质、对象
  4. 状态开关按钮(ToggleButton)及按钮(Swich)的使用
  5. fiddler汉化版可以改成英文吗_可以把推拉门改成平开窗吗?推拉门和平开窗哪个更好?...
  6. Lucene6.5.0 下中文分词IKAnalyzer编译和使用
  7. ipv6网络使用scp,并解决No route to host与no matches found报错
  8. HTML5 Canvas 车架号第十位是L,汽车生产日期字母对照
  9. Word公式编辑器的使用方法
  10. win10做文件服务器怎么精简,win10精简系统怎么做到
  11. ALFA机器视觉深度学习外观缺陷检测系统软件机器视觉
  12. 项目经理之我思员工能动性
  13. excel 画散点图 怎么设置图片的分辨率_有哪些相见恨晚的Excel图表制作方法?
  14. 工作进度跟踪表excel_在Excel中跟踪时间
  15. Autodesk全系列下载,Autodesk全版本下载
  16. 配置coredns解析公网域名
  17. 首届DataEarth开发者大赛
  18. STM32复位与时钟、定时器
  19. 生活随记 - 干瞪眼
  20. ps42k20服务器出现问题_香港代理服务器和香港服务器有什么不同,如何选择?-行业新闻...

热门文章

  1. 【Python-ML】SKlearn库K近邻(KNN) 使用
  2. Bind 配置非递归服务器
  3. i2c的时钟延展问题
  4. Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示
  5. Python 技术篇-用smtplib和email库实现邮件发送并展示本地图片实例演示
  6. Python 技巧篇-同一个方法多次引用不同效果功能实现,可选参数设置方法
  7. Python知识点笔记-列表list、元组tuple和dict类型
  8. CTFshow 爆破 web26
  9. expand--符号矩阵的展开
  10. ajax动态加载公共模块,Maven多模块项目搭建+SSM框架整合(四、Ajax异步获取数据,jq动态添加)...