R可视化:另类的柱状图

介绍

方格状态的柱状图

加载R包

{r} 复制代码
knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
library(patternplot)
library(png)
library(ggplot2)
library(gridExtra)

rm(list = ls())
options(stringsAsFactors = F)

导入数据

{r, 复制代码
data <- read.csv(system.file("extdata", "monthlyexp.csv", package="patternplot"))

准备数据

{r, 复制代码
data <- data[which(data$Location == 'City 1'), ]
x <- factor(data$Type, c('Housing', 'Food', 'Childcare'))
y <- data$Amount
pattern.type <- c('hdashes', 'blank', 'crosshatch')
pattern.color <- c('black', 'black', 'black')
background.color <- c('white','white', 'white')
density <- c(20, 20, 10)

画图

{r, 复制代码
barp1 <- patternbar(
  data, x, y,
  group = NULL,
  ylab = 'Monthly Expenses, Dollars', 
  pattern.type = pattern.type, hjust=0.5,
  pattern.color = pattern.color, 
  background.color = background.color,pattern.line.size = c(5.5, 1, 4),
  frame.color = c('black', 'black', 'black'), 
  density = density) + 
  scale_y_continuous(limits = c(0, 2800)) +
  ggtitle('(A) Black and White with Patterns')

pattern.color <- c('black','white', 'grey20')
background.color <- c('lightgreen','lightgreen', 'lightgreen')
barp2 <- patternbar(
  data, x, y, 
  group = NULL,
  ylab = 'Monthly Expenses, Dollars', 
  pattern.type = pattern.type, hjust=0.5,
  pattern.color = pattern.color, 
  background.color = background.color,
  pattern.line.size = c(5.5, 1, 4),
  frame.color = c('black', 'black', 'black'), 
  density = density) +
  scale_y_continuous(limits = c(0, 2800)) +
  ggtitle('(B) Colors with Patterns')


grid.arrange(barp1,barp2,  nrow = 1)
相关推荐
黑化旺仔9 小时前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
Felven9 小时前
C. Removing Smallest Multiples
c语言·开发语言
云和数据.ChenGuang9 小时前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
星夜离尘569 小时前
MATLAB 工程实验:滞回加持续时间报警,把 UNKNOWN 留在状态机里
开发语言·matlab
fengci.9 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
Highcharts.js9 小时前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts
yixun_gdas10 小时前
政企网站错敏巡查:错敏都藏在哪些位置?
开发语言·前端·javascript·内容运营
小羊没烦恼!10 小时前
.NET 11 Runtime Async 详解
java·运维·开发语言·javascript·python
Дерек的学习记录10 小时前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5
code2cat11 小时前
Java高级篇之Socket:从建立连接到完整收发一条消息
java·开发语言