我刚才有一个关于如何将第三轴(辅助x轴)添加到现有散点图的问题。 例如,我有以下数据框:
df = data.frame(a = c(10,20,30,40,50,60,70),b = c(12,15,21,21,22,26,31), c = c(0.1,0.2,0.3,0.3,0.3,0.4,0.5))
我使用“a”作为x轴,使用“b”作为y轴并绘制散点图。那可能是我在面板顶部有一个辅助x轴来指示相应的“c”值吗?
答案 0 :(得分:2)
这是一个评论而不是答案。
我们可以使用sec_axis
来添加辅助轴,并且有几个关于它的帖子。但是,在您的数据集中,a和c之间不存在一对一的关系。例如,c中的0.3值对应于a中的30,40,50个值。这使得双x轴的使用在这种情况下不令人满意。请参阅下面的示例。
使用ggplot2的次轴问题在SO中引起了相当大的争议。最近版本的ggplot2实现了sec_axis
函数,其中第一个参数是trans
是转换公式。当您在数量之间存在关系时,这尤其有用。磅和公斤,公里和米,摄氏度和开尔文等。
总结一下,如果这是你的真实数据集,我会避免二级(误导性)x轴。 我期待听到关于这个特殊问题的其他评论。
library(ggplot2)
q = ggplot() + geom_point(data = df, aes(y = b, x = a))
q + scale_x_continuous("a",
sec.axis = sec_axis(~ . , breaks = df$a, labels = df$c , name = "c"))