作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳答案
patchwork
可用于组合两个图,ggtext
可用于图例。
library(tidyverse)
library(patchwork)
library(ggtext)
转换数据。使用 ggtext
我们可以在 gear
列中使用 markdown。我们将使用 ■
符号并为其着色。
df <-
mtcars %>%
mutate(
color = case_when(
gear == 5 ~ "#F8766D",
gear == 4 ~ "#00BA38",
gear == 3 ~ "#619CFF",
),
gear = fct_reorder(as_factor(glue::glue("<b style='color:{color}'>■</b> {gear} Gears")), gear),
cyl = paste0(cyl, " Cyl")
) %>%
count(gear, cyl)
p1 <-
ggplot(df, aes(cyl, n, fill = gear)) +
geom_col() +
scale_y_continuous(breaks = seq(from = 0, to = 16, by = 2), lim = c(0, 16)) +
theme_minimal() +
theme(
legend.position = "none",
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_line(colour = "grey")
) +
labs(
title = "Gears and Cylinders - mtcars.csv"
)
p2 <-
df %>%
ggplot(aes(cyl, gear, label = n)) +
geom_text() +
geom_hline(yintercept = c(0.5, 1.5, 2.5), colour='grey') +
theme_void() +
theme(
axis.text.y = element_markdown(),
plot.title = element_blank()
)
使用patchwork
将它们组合在一起。
p1 + p2 + plot_layout(ncol = 1, heights = c(7, 2))
关于r - 如何在 R (ggplot2) 中重新创建此 excel Barchart + 数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64265093/
我是一名优秀的程序员,十分优秀!