@cnluzon we had this discussion about shortcomings of ylim and also scale_y_continuous. That they draw a wrong box plot and give wrong statistics since the data not in the plot is also not used. I knew I came across a solution before, and it is
coord_cartesian(ylim=c(0, 3))
which only adjust the visible coordinates, not the underlying data. So if you implement that one can chose x or y axis limits, please use this implementation so that there are no mistakes made by unexperienced users.