I have a stacked bar graph with a single column, and I would like to use ggrepel
to put a legend with segments on the side. This is what I have so far:
library(ggplot2)
library(ggrepel)
data <- data.frame(
id = 1,
region = factor(c("A", "B", "C")),
value = c(1, 2, 3)
)
ggplot(data = data,
aes(x = id, y = value, fill = region)) +
geom_bar(position = "stack", stat = "identity", width = 0.1) +
theme_void() +
theme(legend.position = "none",
legend.margin = margin(c(10, 70, 5, 5))) +
geom_text_repel(
aes(label = region),
position = position_stack(vjust = 1),
hjust = 40,
box.padding = .4
)
With legend:
Without legend:
As you can see, removing the legend has made the plot expand on the full width. My goal is to keep a blank space on the side, where the legend was, so that I can display the labels on the side. How can I do that?
question from:
https://stackoverflow.com/questions/65909557/ggplot2-keep-a-space-on-the-side-even-if-theres-no-legend 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…