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)
相关推荐
一颗青果8 分钟前
C++的锁 | RAII管理锁 | 死锁避免
java·开发语言·c++
一分之二~11 分钟前
回溯算法--解数独
开发语言·数据结构·c++·算法·leetcode
Smilecoc18 分钟前
ChromeDriverManager:自动下载和管理chromedriver版本
开发语言·python
天燹29 分钟前
Qt 6 嵌入 Android 原生应用完整教程
android·开发语言·qt
liu****39 分钟前
第一章 Qt 概述
开发语言·c++·qt
知行合一。。。42 分钟前
Python--04--数据容器(列表 List)
开发语言·python
程芯带你刷C语言简单算法题44 分钟前
Day48~对于高度为 n 的台阶,从下往上走,每一步的阶数为 1,2,3 中的一个。问要走到顶部一共有多少种走法
c语言·开发语言·学习·算法·c
csbysj20201 小时前
SQL NOT NULL约束详解
开发语言
低调小一1 小时前
Kotlin 2025–2026 客户端开发路线:语言升级 × 跨端落地 × AI Agent 入门
开发语言·人工智能·kotlin
研☆香1 小时前
JS中的三种显示弹窗
开发语言·前端·javascript