楼主: kk22boy
2826 10

[R] ggplot2绘图入门系列之一:导论 [推广有奖]

  • 8关注
  • 95粉丝

一叶知秋

已卖:9095份资源

学科带头人

51%

还不是VIP/贵宾

-

TA的文库  其他...

计量经济与统计

SSCI、权威 论文写作及投稿经验

威望
1
论坛币
57240 个
通用积分
130.1721
学术水平
437 点
热心指数
492 点
信用等级
393 点
经验
68023 点
帖子
1586
精华
0
在线时间
2192 小时
注册时间
2005-3-10
最后登录
2025-5-25

初级热心勋章 初级信用勋章

楼主
kk22boy 发表于 2015-3-4 13:10:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1 什么是ggplot2



      ggplot2是用于绘图的R语言扩展包,其理念根植于《Grammar of Graphics》一书。它将绘图视为一种映射,即从数学空间映射到图形元素空间。例如将不同的数值映射到不同的色彩或透明度。该绘图包的特点在于并不去定义具体的图形(如直方图,散点图),而是定义各种底层组件(如线条、方块)来合成复杂的图形,这使它能以非常简洁的函数构建各类图形,而且默认条件下的绘图品质就能达到出版要求。


2 与lattice包的比较



      ggplot2和lattice都属于高级的格点绘图包,初学R语言的朋友可能会在二者选择上有所疑惑。从各自特点上来看,lattice入门较容易,作图速度较快,图形函数种类较多,比如它可以进行三维绘图,而ggplot2就不能。ggplot2需要一段时间的学习,但当你跨过这个门槛之后,就能体会到它的简洁和优雅,而且ggplot2可以通过底层组件构造前所未有的图形,你所受到的限制只是你的想象力。


      建议两种绘图包都可以研究一下。如果时间紧张,需要在一两天之内为论文做一张图,那么推荐用lattice,如果时间充裕,推荐学习ggplot2。


3 基本概念



  • 图层(Layer):如果你用过photoshop,那么对于图层一定不会陌生。一个图层好比是一张玻璃纸,包含有各种图形元素,你可以分别建立图层然后叠放在一起,组合成图形的最终效果。图层可以允许用户一步步的构建图形,方便单独对图层进行修改、增加统计量、甚至改动数据。
  • 标度(Scale):标度是一种函数,它控制了数学空间到图形元素空间的映射。一组连续数据可以映射到X轴坐标,也可以映射到一组连续的渐变色彩。一组分类数据可以映射成为不同的形状,也可以映射成为不同的大小。
  • 坐标系统(Coordinate):坐标系统控制了图形的坐标轴并影响所有图形元素,最常用的是直角坐标轴,坐标轴可以进行变换以满足不同的需要,如对数坐标。其它可选的还有极坐标轴。
  • 位面(Facet):很多时候需要将数据按某种方法分组,分别进行绘图。位面就是控制分组绘图的方法和排列形式。


4 一个例子



       下 面用ggplot2包内带的汽车测试数据(mpg)来举个例子,用到的三个变量分别是发动机容量(displ)、高速公路上的每加仑行驶里数(hwy)、汽缸数目(cyl)。首先加载ggplot2包,然后用ggplot定义第一层即数据来源。其中aes参数非常关键,它将displ映射到X轴,将hwy映射到Y轴,将cyl变为分类数据后映射为不同的颜色。然后使用+号添加了两个新的图层,第二层是加上了散点,第三层是加上了loess平滑曲线。
   
  1.    library(ggplot2)p <- ggplot(data=mpg,aes(x=displ,y=hwy,colour=factor(cyl)))p + geom_point() + geom_smooth()
复制代码



上图是对几种不同汽缸的数据分别平滑,如果需要对整体数据进行平滑,可将colour参数设置在散点图层内而非第一层,这样第三层的平滑图形就不会受到colour参数的影响。

  1. p <- ggplot(mpg,aes(x=displ,y=hwy))
  2. p + geom_point(aes(colour=factor(cyl))) + geom_smooth()
复制代码





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ggplot2 gplot 绘图入门 plot GPL ggplot2 导论 绘图入门

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 60 + 60 + 5 + 5 + 5 精彩帖子
xddlovejiao1314 + 100 + 100 + 5 + 5 + 5 精彩帖子

总评分: 经验 + 160  论坛币 + 160  学术水平 + 10  热心指数 + 10  信用等级 + 10   查看全部评分

本帖被以下文库推荐

如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!

沙发
yeting2000 在职认证  发表于 2015-3-4 13:16:28
谢谢楼主分享!
已有 2 人评分经验 论坛币 收起 理由
niuniuyiwan + 30 + 3 发帖不易,感谢对楼主及本版的支持
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 经验 + 30  论坛币 + 8   查看全部评分

藤椅
laodong1983 在职认证  发表于 2015-3-4 13:16:42
很好的资料
已有 2 人评分经验 论坛币 收起 理由
niuniuyiwan + 30 + 3 发帖不易,感谢对楼主及本版的支持
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 经验 + 30  论坛币 + 8   查看全部评分

板凳
gyqznufe 发表于 2015-3-4 13:37:02
[em29][em29]
已有 2 人评分经验 论坛币 收起 理由
niuniuyiwan + 30 + 3 发帖不易,感谢对楼主及本版的支持
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 经验 + 30  论坛币 + 8   查看全部评分

报纸
铁锷未残 学生认证  发表于 2015-6-17 17:29:32
谢谢楼主分享
已有 2 人评分经验 论坛币 收起 理由
niuniuyiwan + 30 + 3 发帖不易,感谢对楼主及本版的支持
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 经验 + 30  论坛币 + 8   查看全部评分

地板
xddlovejiao1314 学生认证  发表于 2015-6-17 20:17:32
mark,多来点类似帖子。谢谢分享。
已有 1 人评分经验 论坛币 收起 理由
niuniuyiwan + 60 + 5 好的意见建议

总评分: 经验 + 60  论坛币 + 5   查看全部评分

7
tim0532 发表于 2015-7-1 13:45:45
入门讲解的不错。
已有 2 人评分经验 论坛币 收起 理由
niuniuyiwan + 30 + 3 发帖不易,感谢对楼主及本版的支持
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 经验 + 30  论坛币 + 8   查看全部评分

8
niuniuyiwan 在职认证  发表于 2015-7-24 05:14:08
感谢楼主分享
已有 1 人评分论坛币 收起 理由
xddlovejiao1314 + 5 鼓励积极发帖讨论

总评分: 论坛币 + 5   查看全部评分

9
happy_jackie 发表于 2015-7-31 19:19:26
感谢楼主分享!
已有 1 人评分经验 论坛币 收起 理由
niuniuyiwan + 60 + 5 鼓励积极发帖讨论

总评分: 经验 + 60  论坛币 + 5   查看全部评分

10
moretc 学生认证  发表于 2015-9-25 18:31:41
这本书的代码有吗,1225445386@qq.com

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-27 06:54