我正在使用ggplot2
的{{1}}绘制一些数据。数据表示的比率应以geom_bar
为中心,而不是以1
为中心。这将使我能够突出显示哪些类别低于或高于此中心比率数字。我尝试过使用0
和set_y_continuous()
,但它们都不允许我发送中心轴值。
基本上:如何使ylim()
以Y
而不是1
为中心。
对不起,如果我要问的问题已经得到回答……也许我只是不知道正确的关键词?
0
到目前为止,我的情节看起来像这样:
答案 0 :(得分:0)
您可以预处理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 ~ .)