R小姐:折线图、条形图、直方图、箱图、函数曲线


前几次更新的文章犹如海绵里的水,硬挤方才挤出来一丝水,今天就不一样了,文思如尿崩,一次性学会简单的折线、条形、直方、箱、函数曲线图的画法。

各位请系好您右手边的安全带,抓稳安全扶手,发车了。

1

折线图

library(ggplot2)
library(gcookbook)
head(pressure)
#绘制第一条曲线
plot(pressure$temperature,pressure$pressure,type = 'l')
#将数据点添加至曲线,pch表示点的形状
points(pressure$temperature,pressure$pressure,pch=9)
#绘制第二条曲线压力减半,颜色为红色
lines(pressure$temperature,pressure$pressure/2,col='red') 
#添加第二条曲线的数据点,颜色为红色
points(pressure$temperature,pressure$pressure/2,col='red')
image
#生成一个图形向量,用I()函数避免歧义
qplot(x=temperature,y=pressure,data = pressure,geom = c('line','point'),colour=I('blue'))
image
#分步走传数据,绘点图,绘线图。分别添加颜色
ggplot(data = pressure,mapping = aes(x=temperature,y=pressure)) +
  geom_point(colour='red') +
  geom_line(colour='blue')
image

2

条形图

#利用table生成总结数据框,然后生成条形图
barplot(table(mtcars$cyl))
image
#设置箱子的宽度,连续型变量绘图
qplot(x=cyl,data = mtcars,binwidth=1)
image
#将cyl转化为因子,即离散型变量
qplot(x=factor(cyl),data = mtcars)
image
#离散型变量并设置填充色和边框色
ggplot(data = mtcars,mapping = aes(x=factor(cyl))) +
  geom_bar(colour='red',fill='lightblue')
image

3

直方图

#绘制直方图,并将数据分为12份
hist(x=mtcars$mpg,breaks = 10)
image
#设置直方图的宽度和边框颜色
qplot(x=mpg,data = mtcars,binwidth=4,colour=I('white'))
image
#设置直方图的边框、填充色和边框色
ggplot(data = mtcars,mapping = aes(mpg)) +
  geom_histogram(binwidth = 4,colour='red',fill='lightblue')
image

4

箱图

#利用公式绘制箱图
boxplot(len ~ supp + dose,data = ToothGrowth)
image
#利用interaction将两个变量交叉绘制箱图
qplot(x=interaction(supp,dose),y=len,data = ToothGrowth,geom = 'boxplot')
image
#变量交叉,设置填充色和边框色
ggplot(data = ToothGrowth,mapping = aes(x=interaction(supp,dose),y=len)) +
  geom_boxplot(fill='lightblue',colour='red')
image

5

函数曲线


#表达式,取值范围

curve(x^2,from = -4,to = 4,col='red')

#add表示在原图的基础上添加

curve(x^2 + x ,add = TRUE,from = -4,to = 4,col='blue')

image
#用函数的方法运用qplot
f <- function() {
  x <- 0:20
  y <- 1/(1 + exp(-x + 10))
  qplot(x,y,geom = 'line')
}
f()
image
#自建一个函数方程
myfun <- function(xval){
  1/(1 + exp(-xval + 10))
}
#ggplot要求数据是数据框格式
ggplot(data.frame(x=c(0:20)),aes(x=x)) + 
  stat_function(fun = myfun,geom = 'line',colour='red')
image

本期内容以代码为主,旨在培养大家自己看懂代码的能力。要多多动手查,拒绝做伸手党。

下期再见。

你可能还想看

等你很久啦,长按加入古同社区

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面 ggplot2 是一个功能强大且灵活的R包 ,由Hadley Wickham 编写,其用于生成优雅的图...
    Boer223阅读 28,423评论 0 67
  • 图形初步 在本章中,我们将讨论处理图形的一般方法。我们首先探讨如何创建和保存图形,然后关注如何修改那些存在于所有图...
    jplee阅读 10,545评论 0 12
  • 简介 文章较长,点击直达我的博客,浏览效果更好。本文内容基本是来源于STHDA,这是一份十分详细的ggplot2使...
    taoyan阅读 51,544评论 7 159
  • 一直在想,我们湴表村的村名是如何来的,为什么叫“湴表”而不是“办表”?后来,向长辈们了解,才知道我们“湴表村...
    tree叶子阅读 5,692评论 0 1
  • 我们活在这个大千世界,有的人活得百年,有的人死在胚胎中,有的人把自己奉献的足够多才肯罢休,有的人好吃懒做过...
    _蒜苗喽阅读 2,642评论 0 1