我有一个使用 mtcars 数据集在 excel 中制作的条形图,但我需要在 R 中创建它。我知道如何制作堆积图,但可以添加如下所示的数据表/与图形集成吗?
谢谢你,
patchwork可用于组合两个图并可ggtext用于图例。
library(tidyverse)\nlibrary(patchwork)\nlibrary(ggtext)\nRun Code Online (Sandbox Code Playgroud)\n转换数据。有了ggtext我们就可以在专栏中使用markdown了gear。我们将使用该\xe2\x96\xa0符号并为其着色。
df <-\n mtcars %>%\n mutate(\n color = case_when(\n gear == 5 ~ "#F8766D",\n gear == 4 ~ "#00BA38",\n gear == 3 ~ "#619CFF",\n ),\n gear = fct_reorder(as_factor(glue::glue("<b style=\'color:{color}\'>\xe2\x96\xa0</b> {gear} Gears")), gear),\n cyl = paste0(cyl, " Cyl")\n ) %>%\n count(gear, cyl) \nRun Code Online (Sandbox Code Playgroud)\np1 <-\n ggplot(df, aes(cyl, n, fill = gear)) +\n geom_col() +\n scale_y_continuous(breaks = seq(from = 0, to = 16, by = 2), lim = c(0, 16)) +\n theme_minimal() +\n theme(\n legend.position = "none",\n axis.title.x = element_blank(),\n axis.title.y = element_blank(),\n panel.grid.minor.x = element_blank(),\n panel.grid.major.x = element_blank(),\n panel.grid.minor.y = element_blank(),\n panel.grid.major.y = element_line(colour = "grey")\n ) +\n labs(\n title = "Gears and Cylinders - mtcars.csv"\n )\n\np2 <-\n df %>%\n ggplot(aes(cyl, gear, label = n)) +\n geom_text() +\n geom_hline(yintercept = c(0.5, 1.5, 2.5), colour=\'grey\') +\n theme_void() +\n theme(\n axis.text.y = element_markdown(),\n plot.title = element_blank()\n )\nRun Code Online (Sandbox Code Playgroud)\n用于patchwork将其组合在一起。
p1 + p2 + plot_layout(ncol = 1, heights = c(7, 2))\nRun Code Online (Sandbox Code Playgroud)\n\n
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |