【发布时间】:2021-10-29 14:40:26
【问题描述】:
我需要使用ggplot 绘制两个散点图。一种是所有值在 (0,0.02) 之间的正数,另一种是所有值在 (0,-1500) 之间的负数。我尝试使用sec_axis 来传达不同的比例,但我已经能够产生以下内容。
这是使用
制作的library(tidyverse)
library(ggplot2)
scl = with(use_deciles, max(abs(coef_navy))/max(abs(coef_maroon)))
ggplot(use_deciles) +
geom_point(aes(x = decile_navy, y = coef_navy, color = 'navy')) +
geom_point(aes(x = decile_maroon, y = coef_maroon*scl, color = 'maroon')) +
labs(x = "Group", y = "") +
scale_color_manual(values = c('maroon', 'navy')) +
scale_y_continuous(sec.axis = sec_axis(~. /scl, name = "2nd axis"))
如您所见,scl 提供了左右轴之间的最佳重新缩放,但这是我的问题:
如何调整 y 轴的范围,以便我可以将 0 放在左轴的顶部但在右轴的底部?
鉴于我只能将sec_axis 定义为左轴的线性变换,我不确定此选项是否真的可以移动标签。如果我需要手动重新标记 y 轴,那可以,但我想先了解如何在此处叠加散点图。
提前谢谢你。
【问题讨论】:
-
请发送reproducible example。
use_deciles未定义。
标签: r ggplot2 axis-labels axes scatter