您可以预处理y值,使绘图实际从0开始,然后更改比例标签以反映原始值(使用内置数据集进行演示):
library(dplyr) library(ggplot2) cut.off = 500 # (= 1 in your use case) diamonds %>% filter(clarity %in% c("SI1", "VS2")) %>% count(cut, clarity) %>% mutate(n = n - cut.off) %>% # subtract cut.off from y values ggplot(aes(x = cut, y = n, fill = cut)) + geom_col() + geom_text(aes(label = n + cut.off, # label original values (optional) vjust = ifelse(n > 0, 0, 1))) + geom_hline(yintercept = 0) + scale_y_continuous(labels = function(x) x + cut.off) + # add cut.off to label values facet_grid(clarity ~ .)