前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言ggplot2绘制带有底纹的柱形图~patternplot扩展包

R语言ggplot2绘制带有底纹的柱形图~patternplot扩展包

作者头像
用户7010445
发布2021-07-30 10:46:10
2.5K0
发布2021-07-30 10:46:10
举报
文章被收录于专栏:小明的数据分析笔记本

做柱形图的时候如果要区分不同的类别 最直观的方式就是用不同的颜色,但是有的期刊如果要求黑白灰配色的话,用颜色可能就不太好区分,这个时候可以用添加底纹的形式。R语言的ggplot2包没有提供直接绘制带有底纹的柱形图的函数,如果想要实现需要借助扩展包patternplot,参考链接 https://cran.r-project.org/web/packages/patternplot/vignettes/patternplot-intro.html

下面介绍几个简单小例子

第一次使用这个包需要安装,直接运行install.packages("patternplot")命令进行安装

第一个是普通的柱形图

示例数据

画图代码

代码语言:javascript
复制
library(patternplot)
library(readxl)
library(ggplot2)
df1<-read_excel("patternplot/patternplot_example.xlsx",
                sheet = "Sheet1")
df1

patternbar(df1,x,y,
           density = c(10,10,10),
           pattern.type = c('hdashes', 'blank', 'crosshatch'))+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,15))

这里画图函数是patternbar()必须的参数

  • 数据集
  • 代表x轴的变量名
  • 代表y轴的变量
  • density是底纹的密度
  • pattern.type是底纹的类型

通过 ?patternbar 命令查看帮助文档 ,底纹的类型有a vector of patterns to be filled in the bars The pattern types include: 'blank', 'bricks', 'vdashes', 'hdashes', 'crosshatch','dots', 'grid','hlines','nelines', 'nwlines', 'vlines', 'waves' and more.

画个图会更直观

代码语言:javascript
复制
df<-data.frame(x=LETTERS[1:10],y=1:10)
df
pattern_type<-c('blank', 'bricks', 'vdashes', 
                'hdashes', 'crosshatch','hlines',
                'nelines', 'nwlines', 'vlines','waves')
a<-factor(df$x)
b<-df$y
patternbar(df,a,b,
           density = rep(10,10),
           pattern.type = pattern_type)+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,12))

这里还有一个类型是 dots,如果用这个类型会遇到报错Error in readPNG(paste(location, "/", pattern.type[i], ".png", sep = "")) : unable to open C:/Users/pome/AppData/Local/Temp/Rtmp2Lr3pm/dots.png 暂时不知道是什么原因

簇状柱形图重复的时候一直遇到报错 暂时还不知道如何解决 今天的内容先到这里了

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

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下面介绍几个简单小例子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档