gpt4 book ai didi

r - ggplot,在条形组之间添加网格线

转载 作者:行者123 更新时间:2023-12-04 11:36:54 25 4
gpt4 key购买 nike

在具有离散 x 轴的 ggplot 中使用躲避条时,它们以 x 刻度为中心。
因此,垂直网格线也沿着柱组中间的刻度线穿过。

enter image description here

我想要网格线 之间 酒吧组。这在前面显示的情况下特别有用,在这种情况下,条形稀疏并且每个条形所属的组不是直接的。

这是代码(没有 x 的排序,它不相关并且很长):

library(ggplot)
library(dplyr)

structure(list(Reparto = c("Oncologia medica", "Centro trapianti",
"Chirurgia epatobiliare", "Dh oncologico", "Radioterapia", "Chirurgia",
"Chirurgia oncologica", "Gastroenterologia", "Radiologia", "Oncologia medica",
"Centro trapianti", "Chirurgia epatobiliare", "Dh oncologico",
"Radioterapia", "Chirurgia", "Chirurgia oncologica", "Gastroenterologia",
"Radiologia", "Oncologia medica", "Centro trapianti", "Chirurgia epatobiliare",
"Dh oncologico", "Radioterapia", "Chirurgia", "Chirurgia oncologica",
"Gastroenterologia", "Radiologia", "Oncologia medica", "Centro trapianti",
"Chirurgia epatobiliare", "Dh oncologico", "Radioterapia", "Chirurgia",
"Chirurgia oncologica", "Gastroenterologia", "Radiologia"), Fascia.oraria = c("00:00 - 3:00",
"00:00 - 3:00", "00:00 - 3:00", "00:00 - 3:00", "00:00 - 3:00",
"00:00 - 3:00", "00:00 - 3:00", "00:00 - 3:00", "00:00 - 3:00",
"3:00 - 13:00", "3:00 - 13:00", "3:00 - 13:00", "3:00 - 13:00",
"3:00 - 13:00", "3:00 - 13:00", "3:00 - 13:00", "3:00 - 13:00",
"3:00 - 13:00", "13:00 - 24:00", "13:00 - 24:00", "13:00 - 24:00",
"13:00 - 24:00", "13:00 - 24:00", "13:00 - 24:00", "13:00 - 24:00",
"13:00 - 24:00", "13:00 - 24:00", "Orario sconosciuto", "Orario sconosciuto",
"Orario sconosciuto", "Orario sconosciuto", "Orario sconosciuto",
"Orario sconosciuto", "Orario sconosciuto", "Orario sconosciuto",
"Orario sconosciuto"), Eventi = c(19.7, 2.19, 0, 0, 0, 0, 0,
0, 0, 4.6, 1.32, 0.66, 0, 0.66, 0, 0, 0.66, 0, 7.77, 0, 1.2,
1.2, 0, 0.6, 0.6, 0, 0.6, NA, NA, NA, NA, NA, NA, NA, NA, NA)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -36L)) %>%
ggplot(aes(str_first_up(Reparto), Eventi)) +
geom_col(aes(fill = Fascia.oraria), position = position_dodge2(preserve = 'total')) +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
panel.grid.minor.x = element_line(color = 'gray')
) +
labs(x = NULL, y = 'N. eventi x 100 gg', fill = 'Fascia oraria')

最佳答案

您可以像这样手动设置行:

p +
theme(panel.grid = element_blank()) + # remove grid lines
geom_vline(xintercept = seq(0.5, length(df$Reparto), by = 1), color="gray", size=.5, alpha=.5) # set vertical lines between x groups
哪里 p是你原来的情节,和 df是你的data.frame。
enter image description here
Obs:为了制作这张图片,我删除了 str_first_up()来自您的代码,因为它不是来自 dplyrggplot包(当前版本)。另外,我添加了 theme_bw()在您的主题设置之前。

关于r - ggplot,在条形组之间添加网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com