在R中使用plot,qplot,ggplot三个函数做简单的常用图形

R自带的作图工具有plot,但是在使用R作图时,不得不提到的一个强大的包ggplot2。ggplot2中qplot和ggplot函数也可以用来作图。下面会一一介绍在R中使用这些函数来制作散点图(scatter plot)、线图(line plot)、条形图(bar graph)、柱状图(histogram)、密度图(density)和箱线图(boxplot)。(上述图形时做数据分析时常用到的,相关概念百度或者wiki搜索都有。)

1. Scatter plot散点图(使用数据集:mtcars)

数据集中wt是车身重量,mpg是每英里使用多少加仑的汽油

plot(mtcars$wt,mtcars$mpg)
  • 1

最简单的散点图,粗糙标题都没有~ 
plot的使用格式:plot(x, y, …),x参数指图中x坐标轴的坐标,y参数指图中y坐标轴的坐标,…指还有其他可用的参数。

qplot(wt,mpg,data=mtcars)
  • 1

这里写图片描述 
qplot的使用格式:qplot(x, y = NULL, data,…),data参数指所用到的数据集。(这里也可以使用这种形式:qplot(mtcars$wt,mtcars$mpg)

ggplot(mtcars,aes(wt,mpg))+geom_point()
  • 1

这里写图片描述 
ggplot这个函数使用起来比较特别,可以看成这种格式:ggplot(所用到的资料)+geom_要绘制的图形类型()+…(可以加多个想要绘制的图形类型)。 
ggplot()个人建议大家使用,另外两个能看的懂就好了。

2. Line plot线图(使用数据集:pressure)

pressure数据集就两列temperature和pressure。

plot(pressure$temperature,pressure$pressure,type='l')
  • 1

这里写图片描述 
前面提到,…是还可以使用其他参数,这就就用了一个type参数来选择想要绘制的图形,没有选择type参数默认是点图。 
type参数可选择的图形有:

符号 绘制的表格
p 点图
l 线图
b 点图与虚线图
c 虚线图
o 点图与实线图
h 直线条形图
s 阶梯图
还有两个 不写了,自己看帮助文档?plot
points(pressure$temperature,pressure$pressure)
  • 1

这里写图片描述 
这个方法了解即可。

qplot(temperature,pressure,data = pressure,geom = 'line')
  • 1

这里写图片描述

qplot(temperature,pressure,data = pressure,geom = c('line','point'))
  • 1

这里写图片描述 
qplot函数做简单的图形比较方便。geom参数还可以引用列表。

ggplot(pressure,aes(temperature,pressure))+geom_line()+geom_point()
  • 1

这里写图片描述 
ggplot函数用起来会比qplot函数复杂点(qplot的q就是quick),但是它的代码看起来比较直观,容易理解。

扫描二维码关注公众号,回复: 1698725 查看本文章

3.Bar graph条形图(数据集:mtcars&BOD)

BOD数据集只有两列time和demand(需要的氧气量) 
条形图是显示数据频数的图,所以我们要用数据框中的数据生成一个统计频数的表。

t<-table(mtcars$cyl)
  • 1

cyl是车子汽缸数量得到表格如下:

汽缸数 车子数量
4 11
6 7
8 14
barplot(t)
  • 1

这里写图片描述

ggplot(BOD,aes(Time,demand))+geom_bar(stat = 'identity')
  • 1

这里写图片描述 
stat=’identity’y意为不对数据做统计运算,如果这里没有这步会报错。为什么会这样希望有人能点拨我一下~ 
这里新版本的R不能用gplot做条形图。

4.Histogram直方图(数据集:mtcars)

hist(mtcars$mpg)
  • 1

这里写图片描述

qplot(mpg,data = mtcars,binwidth=4)
  • 1
ggplot(mtcars,aes(mpg))+geom_histogram(binwidth = 4)
  • 1

这里写图片描述 
binwidth参数是调节横坐标的区间,你可以任意调节你认为合适的区间。条形图与直方图看起来相似,但是却是不一样的,条形图的x轴是一个确定的数值,而直方图是一个区间。

5.Density密度图(数据集:mtcars)

plot(density(mtcars$mpg))
  • 1

这里写图片描述 
如果就输入density(mtcars$mpg) 会发现只会输出相关的统计数据。

qplot(mpg,data = mtcars,geom = 'density')
  • 1
ggplot(mtcars,aes(mpg))+geom_density()
  • 1

这里写图片描述

6.Boxplot箱线图(数据集:ToothGrowth)

箱线图可以查看异常值,如果有观察超出上下边界,那么就是异常值。

plot(ToothGrowth$supp, ToothGrowth$len)
  • 1

这里写图片描述 
plot函数能自动识别分类的字符串。

boxplot(len~supp,data = ToothGrowth)
  • 1

这里写图片描述

qplot(supp,len,data=ToothGrowth,geom = 'boxplot')
  • 1
ggplot(ToothGrowth,aes(supp,len))+geom_boxplot()
  • 1

这里写图片描述 
以上都是最基础的作图方法,后续还可以改变参数来进行微调。

猜你喜欢

转载自blog.csdn.net/kwame211/article/details/80748996