ggplot2学习入门第二章qplot入门

今天学习了下ggplot的第二章,以下是相关的代码与说明

library(ggplot2)
## 图2.1 无代码




###### 章节2.2
set.seed(1410)  # 让样本可重复


dsmall <- diamonds[sample(nrow(diamonds), 100), ]




###### 章节2.3
qplot(carat, price, data = diamonds)




###### 章节2.3
qplot(log(carat), log(price), data = diamonds)




###### 章节2.3
qplot(carat, x * y * z, data = diamonds)






## 图2.2 将 color 变量映射到点的颜色 (左),cut 变量映射到点的形状 (右)
qplot(carat, price, data = dsmall, colour = color)


qplot(carat, price, data = dsmall, shape = cut)




## 图2.3 将 alpha 值从 1/10(左) 变动到 1/100(中) 再到
## 1/200(右),来看大部分的点在哪里 进行重叠。
##alpht图形属性,其取值从0(完全透明)变动到1(完全不透明),通常透明度可以用分数表示
qplot(carat, price, data = diamonds, alpha = I(1/10))


qplot(carat, price, data = diamonds, alpha = I(1/100))


qplot(carat, price, data = diamonds, alpha = I(1/200))




## 图2.4
## 重量与价格的散点图中加入了平滑曲线。左图为dsmall数据集,右图为完整数据集。
# qlot 通过改变几何对象(gemo),可以绘制任何图形
#geom= "point"散点图
#gemo= "smooth"平滑曲线
#gemo = “boxplot” 绘制箱线胡须图,用以概括一系列点分布情况
# gemo = "bar"用来绘制条形图






qplot(carat, price, data = dsmall, geom = c("point", "smooth"))


qplot(carat, price, data = diamonds, geom = c("point", "smooth"))




## 图2.5 span 参数的作用。左图是 span=0.2,右图是 span=1。
# 曲线的平滑度由span参数控制的
qplot(carat, price, data = dsmall, geom = c("point", "smooth"), span = 0.2)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"), span = 1)




## 图2.6 在运用广义可加模型作为平滑器时 formula 参数的作用。左图是
## formula=y~s( x),右图是 formula=y~s(x,bs='cs')。
library(mgcv)


qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method = "gam", 
      formula = y ~ s(x))


qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method = "gam", 
      formula = y ~ s(x, bs = "cs"))




## 图2.7 在运用线性模型作为平滑器时 formula 参数的作用。左图是 formula =
## y ~ x 的默认值, 右图是 formula = y ~ ns(x, 5)。
library(splines)


qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method = "lm")


qplot(carat, price, data = dsmall, geom = c("point", "smooth"), method = "lm", 
      formula = y ~ ns(x, 5))




## 图2.8 (书中无代码)
## 利用扰动点图(左)和箱线图(右)来考察以颜色为条件的每克拉价格的分布。
## 随着颜色的改变(从左到右),每克拉价格的跨度逐渐减小,但分布的中位数没有明显的变化。
qplot(color, price/carat, data = diamonds, geom = "jitter")
qplot(color, price/carat, data = diamonds, geom = "boxplot")




## 图2.9 改变 alpha 的取值,从左到右分别为 1/5,1/50 和
## 1/200。随着不透明度的降低,
## 我们可以看出数据集中的地方。然而,箱线图依然是一个更好的选择。
qplot(color, price/carat, data = diamonds, geom = "jitter", alpha = I(1/5))
qplot(color, price/carat, data = diamonds, geom = "jitter", alpha = I(1/50))
qplot(color, price/carat, data = diamonds, geom = "jitter", alpha = I(1/200))




## 图2.10 展示钻石重量的分布。左图使用的是 geom='histogram' 右图使用的是
## geom=' density'。
# 直方图和密度曲线图可以展示单个变量的的分布,相对于箱线图而言
# 他们提供了更多的关于单个分布的信息 adjust 参数控制了曲线的平滑程度
# binwidth参数通过设置组距来调节平滑度
# 在直方图中,当组距较大时,图形能反应数据的总体特征,
# 组距较小时,则能显示更多的细节


qplot(carat, data = diamonds, geom = "histogram")
qplot(carat, data = diamonds, geom = "density")




## 图2.11 变动直方图的组距可以显示出有意思的模式。从左到右,组距分别为
## 1,0.1 和 0.01。只有重量在 0 到 3 克拉之间的钻石显示在图中。
qplot(carat, data = diamonds, geom = "histogram", binwidth = 1, xlim = c(0, 
                                                                         3))
qplot(carat, data = diamonds, geom = "histogram", binwidth = 0.1, xlim = c(0, 
                                                                           3))
qplot(carat, data = diamonds, geom = "histogram", binwidth = 0.01, xlim = c(0, 
                                                                            3))




## 图2.12
## 当一个分类变量被映射到某个图形属性上,几何对象会自动按这个变量进行拆分。
## 左图是重叠的密度曲线图,右图是堆叠起来的直方图。
qplot(carat, data = diamonds, geom = "density", colour = color)
qplot(carat, data = diamonds, geom = "histogram", fill = color)




## 图2.13 钻石颜色的条形图。左图显示的是分组的计数,右图是按 weight=carat
## 进行加 权,展示了每种颜色的钻石的总重量。
qplot(color, data = diamonds, geom = "bar")


qplot(color, data = diamonds, geom = "bar", weight = carat) + scale_y_continuous("carat")




## 图2.14
## 衡量失业程度的两张时序图。左图是失业人口的比例,右图是失业星期数的中位
## 数。图形是用 geom='line' 进行绘制的。
qplot(date, unemploy/pop, data = economics, geom = "line")
qplot(date, uempmed, data = economics, geom = "line")




## 图2.15
## 展示失业率和失业时间长度之间关系的路径图。左图是重叠在一起的的散点图和路
## 径图,右图只有路径图,其中年份用颜色进行了展示。
year <- function(x) as.POSIXlt(x)$year + 1900
qplot(unemploy/pop, uempmed, data = economics, geom = c("point", "path"))
qplot(unemploy/pop, uempmed, data = economics, geom = "path", colour = year(date))




## 图2.16
## 展示以颜色为条件的重量的直方图。左图展示的是频数,右图展示的是频率。频率
## 图可以使得比较不同组的分布时不会受该组样本量大小的影响。高质量的钻石
## (颜色 D) 在小
## 尺寸上的分布是偏斜的,而随着质量的下降,重量的分布会变得越来越平坦。
# 分面—————可以将所有的组绘制在同一张图中,它将数据分割成若干子集,然后创建一个 图形的距证,将每一个子集绘制到图形矩阵的窗格中


qplot(carat, data = diamonds, facets = color ~ ., geom = "histogram", binwidth = 0.1, 
      xlim = c(0, 3))


qplot(carat, ..density.., data = diamonds, facets = color ~ ., geom = "histogram", 
      binwidth = 0.1, xlim = c(0, 3))




###### 章节2.7
# qplot中控制图形外观的参数   xlim ,ylim:设置x轴和y轴的显示区间
   #  xlab ylab :设置x轴和y轴的标签文字
qplot(carat, price, data = dsmall, xlab = "Price ($)", ylab = "Weight (carats)", 
      main = "Price-weight relationship")




###### 章节2.7
qplot(carat, price/carat, data = dsmall, ylab = expression(frac(price, carat)), 
      xlab = "Weight (carats)", main = "Small diamonds", xlim = c(0.2, 1))




###### 章节2.7
qplot(carat, price, data = dsmall, log = "xy") 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习 R 语言的 ggplot2 语法的方法有很多,下面是一些建议: 1. 首先,可以阅读 ggplot2 官方文档,了解 ggplot2 的基本概念和使用方法。官方文档链接:https://ggplot2.tidyverse.org/ 2. 可以在网上搜索 ggplot2 教程,找到适合自己的学习方式。一些可以参考的资源包括: - R 语言中文社区(https://www.r-project.org.cn/)上的 ggplot2 教程:https://www.r-project.org.cn/document/r-tutor/r-tutor-ggplot2.html - 菜鸟教程(https://www.runoob.com/)上的 ggplot2 教程:https://www.runoob.com/r/r-ggplot2-intro.html - 还有一些博客、论坛等网站上的 ggplot2 教程,如:https://www.cnblogs.com/datageek/p/10840165.html 3. 可以尝试自己动手练习,使用 ggplot2 绘图。一些可以参考的练习题目包括: - 绘制简单的直方图、饼图等 - 绘制多变量数据的散点图、条形图等 - 绘制分组数据的折线图、箱线图等 4. 可以加入一些学习群或论坛,和其他学习者交流学习心得。 希望这些建议能帮助你学习 ggplot2 语法。 ### 回答2: 学习R语言的ggplot2语法可以通过以下几个步骤进行: 1. 了解ggplot2的基本概念:ggplot2是R语言中用于数据可视化的一个包,它基于“图层”和“映射”的思想进行数据绘图。在开始学习ggplot2之前,先了解它的核心概念和基本原理是非常重要的。 2. 学习ggplot2的基本语法:ggplot2的语法相对简洁直观,通过使用“+”符号来逐步构建图形。学习ggplot2的语法包括了解如何在图层中添加数据、映射、几何对象、标度、分面等元素。 3. 掌握ggplot2的常用函数:ggplot2有许多常用的函数,如qplot()、ggplot()、aes()等。这些函数可以用来创建一个基础图形、设置绘图参数、进行数据映射等。学习这些常用函数能够帮助我们更好地理解和使用ggplot2。 4. 阅读相关文档和示例:ggplot2有丰富的文档和示例,可以从ggplot2官方文档或书籍中找到学习资源。阅读这些文档和示例能够帮助我们更深入地了解ggplot2的各种功能和用法。 5. 练习和实践:学习ggplot2语法最重要的一点是不断练习和实践。通过自己动手编写代码、绘制图形,探索和尝试不同的参数和选项,可以逐渐掌握ggplot2的语法和技巧。 总之,学习ggplot2的语法需要通过了解基本概念、学习基本语法、掌握常用函数、阅读文档和示例,并进行实践和练习。通过不断的学习和实践,我们可以逐步掌握并熟练运用ggplot2的语法,从而能够更好地进行数据可视化。 ### 回答3: 学习R语言的ggplot2语法需要按照以下步骤进行: 1. 了解ggplot2的基本概念和原理。ggplot2是一个用于数据可视化的R包,其基于图层(layer)的概念,可以通过逐渐添加图层来构建复杂的图形。理解图层的概念对于学习ggplot2的语法非常重要。 2. 学习ggplot2的基本语法。ggplot2的语法基于“+”符号,通过逐步组合不同的图层和美学映射(aesthetic mappings)来构建图形。掌握基本的语法结构,包括ggplot()函数、aes()函数和geom_*()函数,是学习ggplot2的关键。 3. 阅读官方文档和教程。ggplot2官方文档提供了详细的介绍和示例,可以通过查看文档来学习不同的图层和美学映射的用法。此外,还有许多在线教程和书籍可供参考,例如《ggplot2: Elegant Graphics for Data Analysis》。 4. 练习绘制图形。学习ggplot2最好的方式是进行实践。可以通过使用现有的数据集或者自己创建数据集来练习绘制图形。不断尝试不同的图层和美学映射,探索不同的图形效果和展示方式。 5. 参考其他人的代码和作品。通过查看其他人的ggplot2代码和图形作品,可以学习到更多实际应用的技巧和经验。可以在GitHub上搜索ggplot2相关的项目和资源,也可以参加R语言社区的讨论和交流。 总之,要学习R语言的ggplot2语法,需要理解ggplot2的基本概念和语法结构,阅读官方文档和教程,进行实践练习,并参考其他人的代码和作品。通过不断的学习和实践,就可以掌握ggplot2的语法,从而能够使用ggplot2创建出美观且富有表达力的数据可视化图形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值