前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >今天,你学绘图了吗?

今天,你学绘图了吗?

作者头像
黑妹的小屋
发布2020-08-06 11:40:41
1K0
发布2020-08-06 11:40:41
举报

我们都知道条形图通过直的或水平的条形开展型量的分布( 数)。函数barplot()的最简单的用法是: barplot(height),其中的height是一个向量或一个

简单的条形图和水平条形图

install.packages("vcd") #安装vcd包,vcd包没在R语言中默认安装

>library(vcd)

>counts <- table(Arthritis$Improved)

>barplot(counts,main="simple Bar Plot",xlab="Improvement",ylab="Frequency")

>install.packages("vcd")

>library(vcd)

>counts <- table(Arthritis$Improved)

>barplot(counts,main="Horizontal Bar Plot",xlab="Frequency",ylab="Improvement",horiz="TRUE")

⚠️注:如果使用函数plot()来绘图, Arthritis$Improved 是一个因子,代码如下:

简单条形图

>plot(Arthritis$Improved,main="simple Bar Plot",xlab="Improvement",ylab="Frequency")

水平条形图

>plot(Arthritis$Improved,horiz="TRUE,main="Horizontal Bar Plot",xlab="Improvement",ylab="Frequency")

⚠️注:以上两条代码得到的条形图与上图展示相同。

微调条形图

> par(mar=c(5,8,4,2))

> par(las=2)

> counts <- table(Arthritis$Improved)

> barplot(counts,main="Treatment Outcome",horiz=TRUE,cex.names=0.8,names.arg=c("No Improvement","Some Improvement","Marked Improvement"), xlab="Frequency",col=c("red","yellow","green"))

⚠️注:使用las=2旋转条形码的标签并修改标签文本,使用mar增加y边界的大小,为了让标签更合适,使用cex.names=0.8,缩小字体的大小,par()函数能够让操作者对R默认图形作出大量的修改

堆砌条形图

>library(vcd)

>counts <- table(Arthritis

>barplot(counts,main="Stacked Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","green"),legend=rownames(counts))

分组条形图

>barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red","yellow","green"),legend=rownames(counts),beside=TRUE)

⚠️注:Table()函数是提取各个单元计数的方法,代码如下:

> library(vcd)

> counts <- table(Arthritis

> counts

Placebo Treated

None 29 13

Some 7 7

Marked 7 21

⚠️注:用col选项为绘制的条形图添加颜色,参数legend.text为图例提供各条形的标签(仅在height为一个矩阵的时候有用)

棘状图

一种特殊的条形图,称之为棘状图 (spinogram)。 棘状图对堆砌条形图进行缩放,这样每个条形的高度为1,每一段的高度表示比例,棘状图可由vcd中的函数spine()绘制,绘制关于关节炎治疗结果的棘状图

> library(vcd)

> attach(Arthritis)

> counts <- table(Treatment,Improved)

> spine(counts,main="Spinogram Example")

> detach(Arthritis)

ggplot绘制条形图

>install.package("ggplot")

>library(ggplot)

>p <- ggplot(mpg, aes(x=class))

> p + geom_bar()

以上条形图是根据计数排序后绘制的条形图:

> class2 <- mpg$class; class2 <- reorder(class2,class2,length)

> mpg$class2 <- class2

> p <- ggplot(mpg, aes(x=class2))

> p + geom_bar(aes(fill=class2))

根据年份分别绘制条形图,position控制位置调整方式 ,代码如下:

> p <- ggplot(mpg, aes(class2,fill=factor(year)))

> p + geom_bar(position='identity',alpha=0.5)

并立方式条形图,代码如下:

> p <- ggplot(mpg, aes(class2,fill=factor(year)))

> p + geom_bar(position='dodge')

叠加方式条形图,代码如下:

>p <- ggplot(mpg, aes(class2,fill=factor(year)))

>p+geom_bar(position='stack')

相对比例条形图,代码如下:

> p <- ggplot(mpg, aes(class2,fill=factor(year)))

> p+geom_bar(position='fill')

分面显示条形图,代码如下:

> p <- ggplot(mpg, aes(class2,fill=factor(year)))

> p+ geom_bar(aes(fill=class2))+facet_wrap(~year)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜鸟学数据分析之R语言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档