设置 ggplot2 条形图参数

Setting ggplot2 bar plot parameters

我想为 ggplot2 条形图对象设置特定的条形图参数。

具体来说,我希望条形图从 y 轴值为 1 的位置开始,并且我希望下限为 -1,上限为最大图形值的 1.25 倍。

这可能吗?如果可以,如何实现?

下面是一些示例代码。

提前致谢。



# loads ggplot2 package
library(ggplot2)

# displays information about data
colnames(mtcars)
mtcars

# creates bar plot
bar_plot__x_is_cyl__y_is_carb <- 
  # ---- NOTE: sets up ggplot data
  ggplot(mtcars, aes(x=cyl, y=carb)) + 
  # ---- NOTE: creates bar graph
  geom_bar(stat="identity", position=position_dodge(), width = .3)
# ---- NOTE: displays bar plot
bar_plot__x_is_cyl__y_is_carb

大概是这样? geom_bar/geom_col 总是从零基线开始(*对数刻度除外,请参阅 ?geom_bar 处的帮助),因此如果您希望条形从其他地方开始,您可能需要使用 geom_rectgeom_tile。我觉得这里用geom_tile比较方便,但是它的y是以柱子的中点为基准的,所以需要一点代数来描述:

ggplot(mtcars, aes(x=cyl)) + 
    geom_tile(aes(y = (carb +1)/2, 
                  height = (carb-1), 
                  width = 0.3)) +
    scale_y_continuous(breaks = -1:10) +
    coord_cartesian(ylim = c(-1, 1.25*max(mtcars$carb)))