R语言作图——bar chart

2019-07-27 18:55:55 浏览数 (1)

前言:最近由于本公众号的管理者hxj身体抱恙,产出减少,还请一起学习的朋友们见谅。现在由黄小仙代为管理,由于缺乏编辑经验,排版不够优美,请朋友们多多包涵。很感谢大家的支持,也希望大家在新的一年里能够顺顺利利。


时光飞逝,岁月如梭,转眼又是一年过去了,本小仙怎么还是一事无成呢!转念一想,这种事也不是一次两次了,再多一个又何妨,哈哈!

回归正题,今天就给大家介绍下直方图(histogram)的“好兄弟”——条形图(bar chart)

假设小仙同学现在要帮一家书店用图形展示2018年最受大家欢迎的书目,数据如下图。

用ggplot画出的条形图还挺好看,可是跟小仙想象中的可不一样。明明我的数据是按照销量从高到低排列的,为什么画出来却是按照字母顺序排列的呢?

使用了对因子进行排序的函数reorder()之后,就变成了下图这个样子,跟想象中的还是不一样。排行榜不都是从高到低排列的嘛!

在网上搜了半天教程,也没有找到简单的方法进行对因子降序排序,于是小仙同学就大胆的在排序向量参数前面加了个减号,竟然没有报错成功了,意外的惊喜(有时候大胆尝试也会有惊喜哦,网上找教程还要先看懂别人的代码,有时候发现看半天看懂了对自己并没有帮助)。

具体的作图过程如下。

Step1.绘图数据的准备

首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式

数据的格式已经在上面展示过啦。

Step2.绘图数据的读取

data<-read.csv(“yourfile path”, header = T)

Step3.绘图所需package的调用

library(ggplot2)

data$书名<-factor(data$书名)

data$书名<-reorder(data$书名,-data$销量)

Step4.因子水平排序

data$书名<-factor(data$书名)

data$书名<-reorder(data$书名,-data$销量)

Step5.绘图

p<-ggplot(data,aes(x=书名,y=销量,fill=书名))

geom_bar(stat="identity",width= 0.5)

theme(axis.text.x = element_text(angle= 45, hjust = 0.8, vjust = 0.9))

xlab("销量排行前十") theme(legend.position="none")

scale_y_continuous("销量",breaks= c(0,200000,400000,600000),labels =c("0","200000","400000","600000"))

p

好啦,今天的分享就到这里了,希望可以帮助到大家。有什么新的作图要求,可以留言给我哦!

0 人点赞