我正在尝试按照以下示例在地图上绘制条形图:如何将条形图绘制到 ggplot2 地图上。这工作正常,但与我想添加 x 和 y 轴的示例相反。问题是数据的 y 范围在我想为其创建条形图的区域之间存在很大差异。
为了生成可比较的图表(即 y 轴具有相同的维度),我将相同的 y 限制应用于所有图表并调整每个图表的中断。然而,这不是一个好的解决方案,因为某些图表(在本例中为 p2)在条形图的上方和下方有很大的空白区域。为了使其工作,我正在寻找一种方法来裁剪图形以删除空白区域,同时保持图形的尺寸以便可以比较 y 轴。
library(dplyr)
library(ggplot2)
df <- data.frame(type = c("A", "B", "A", "B"), country = c("NLD", "NLD", "BEL", "BEL"), value = c(10, -10, 5, 2))
df1 <- filter(df, country == "NLD")
p1 <- ggplot(data = df1) +
geom_col(aes(x = type, y = value)) +
scale_y_continuous(limits = c(min(df$value), max(df$value)), breaks = seq(min(df1$value), max(df1$value), 2)) +
theme_bw()
p1
df2 <- filter(df, country == "BEL")
p2 <- ggplot(data = df2) +
geom_col(aes(x = type, y = value)) +
scale_y_continuous(limits = c(min(df$value), max(df$value)), breaks = seq(min(df2$value), max(df2$value), 2)) +
theme_bw()
p2