你可以将y轴的值转换为以你想要创建的新轴为中心。然后在scale_y_continuous()中,你可以指定breaks =和labels=来重命名y轴的值(你转换的值)。 在下面的例子中,我首先通过mutate()我的y值将y值集中在.8左右。然后我绘制geom_col()并修改scale_y_continuous with label,表示未转换的y值....瞧;)
#global meteoric water line (GMWL) plot
# draw plot but dont draw axes
plot(rnorm(5, -3, 4), rnorm(5,-40,15), xlim = c(-10,2), ylim = c(-60,10), xaxt = 'n', yaxt = 'n', col = 'red')
abline(a = 10, b = 8) #add a straignt line
abline(v = 0) # straight vertical line at 0
abline(h = 0) # straight horizontal line at zero
axis(1, pos = 0) # x axis at zero
axis(2, pos = 0) # y axis at zero
3条答案
按热度按时间uinbv5nw1#
你在例子中修改了图表之间的数据。虽然
geom_bar()
或它的新表亲geom_col()
要求y
为0(这是理所当然的,你真的不应该这样做),但你可以对geom_segment()
做类似的事情:字符串
34gzjxbg2#
你可以将y轴的值转换为以你想要创建的新轴为中心。然后在scale_y_continuous()中,你可以指定breaks =和labels=来重命名y轴的值(你转换的值)。
在下面的例子中,我首先通过mutate()我的y值将y值集中在.8左右。然后我绘制geom_col()并修改scale_y_continuous with label,表示未转换的y值....瞧;)
字符串
1tu0hz3e3#
从这个人自己,哈德利威克姆:https://groups.google.com/g/ggplot2/c/c3DVxA-zMY0“这是不可能的ggplot”虽然上述答案找到其他方法围绕这一点,它是,然而,有可能改变轴交叉在基地r图:
字符串
的数据