菜鸟学R语言(ggplot2)

走进ggplot2的神奇世界

ggplot2是R语言的一个经典好用的绘图包。对于初学者来说,ggplot2并不是想象中或者看起来那么容易上手,也需要花时间去练习去体会,不然的话,调整起来也很令人头疼。但ggplot2依然为我打开了新世界的大门。正式开始之前,先学习一下qplot,快速作图。

散点图

## ggplot2 快速作图
library(ggplot2)
#data(diamonds)	R自带的数据集

#数据准备
set.seed(100)
?diamonds
dsmall <- diamonds[sample(nrow(diamonds),200),]

#绘制散点图
qplot(carat, price, data=dsmall)

set.seed()用于设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的,是让你的模拟能够可重复出现,因为很多时候我们需要取随机数,但这段代码再跑一次的时候,结果就不一样了,如果需要重复出现同样的模拟结果的话,就可以用set.seed()。在调试程序或者做展示的时候,结果的可重复性是很重要的,所以随机数种子也就很有必要。括号里是整数就行。

看下效果:
在这里插入图片描述
现在对于数据,可以有一个直观的了解了,但还是不够美观,继续调整。

#设置颜色与形状
qplot(carat, price, data=dsmall,
      colour= cut)
qplot(carat, price, data=dsmall,
      shape= clarity)
qplot(carat, price, data=dsmall,
      colour= cut, 
      shape=clarity)

看下调整了颜色和效果的图,仅以第三个为例:
在这里插入图片描述
好看多了,继续调整:

#设置透明度
qplot(carat, price, data=dsmall, 
      colour= cut, 
      alpha=I(0.5))

把透明度设置成0.5,注意前面要加字母I,不然0.5会被认定是个属性。里是引用

看看效果:
在这里插入图片描述
学会了设置透明度,那要自定义点的颜色应该怎么做呢?

qplot(carat, price, data=dsmall, 
      colour= I("blue"))

还是要注意blue前要加大写字母I

效果如下:
在这里插入图片描述
来试着给散点图添加趋势线,看起来更高大上!

#添加趋势线
qplot(carat, price, data=dsmall, 
      colour= I("blue"), 
      alpha=I(1/2), 
      geom = c("point","smooth"))

geom代表几何对象,这里分别是点和平滑线。

效果图:
在这里插入图片描述
是不是有点意思了,但还很多可以调整的地方。

qplot(carat, price, data=dsmall, 
      alpha=I(1/2), 
      geom = c("point","smooth"), 
      method="lm", se = FALSE) 

线性回归,不加置信区间

在这里插入图片描述

qplot(carat, price, data=dsmall,
      colour= cut,
      alpha=I(1/2), 
      geom = c("point","smooth"), 
      method="lm", se = FALSE)

在这里插入图片描述
不要忘记添加标题

#添加标题
qplot(carat, price, data=dsmall, 
      ylab="Price", 
      xlab="Weight", 
      main="Price vs Weight", 
      geom = c("point") )

在这里插入图片描述
来个厉害的,按照clarity(其中一个变量)进行分组:

#分组
qplot(carat, price, data=dsmall, 
      colour= cut,
      ylab="Price", 
      xlab="Weight", 
      main="Price vs Weight", 
      alpha=I(1/2),
      geom = c("point"), 
      facets = ~clarity)

在这里插入图片描述

线图

线图就不详细介绍了,大同小异,后面会用ggplot来做点线图。做个简单示意一下,仅供参考。

#绘制线图
qplot(1:10, rnorm(10), geom = "line")

在这里插入图片描述

箱线图

箱线图的使用率还是很高的,看起来也很漂亮,上代码。

#绘制箱线图
qplot(cut, price, data=dsmall,
      fill =cut, 
      geom = c("boxplot"))

在这里插入图片描述
在这里,再复习一下箱线图中各要素的含义,如图所示:
在这里插入图片描述
如果要在箱线图中显示所有的原始点,也很简单。

qplot(cut, price, data=dsmall,
      #color=cut,
      fill =cut, 
      geom = c("boxplot", "jitter"))

在这里插入图片描述

柱状图

柱状图或者叫直方图不必介绍,论文中随处可见。

#绘制柱状图
qplot(price, data=dsmall, 
      fill =cut, 
      geom = c("histogram"))

在这里插入图片描述

高度代表不同cut的频数分布

挤在一起不美观,设置一下间距

qplot(price, data=dsmall, 
      fill =cut, 
      geom = c("histogram"),
      bins = 100)

在这里插入图片描述

密度图

qplot(price, data=dsmall, 
      fill =cut, 
      alpha=I(0.3),
      geom = c("density"))

在这里插入图片描述

提琴图

qplot(cut, price, data=dsmall, 
      fill =cut, 
      alpha=I(0.5),
      geom = c("violin"))

在这里插入图片描述
以上就是用qplot快速作图的几种类型,但这毕竟不是正宗的ggplot,一些细节不太好调整。不过,做个简单的草图绰绰有余了。

工欲善其事,必先利其器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值