2017-07-24 91 views
1

我只是有一个关于如何将第三个轴(第二个x轴)添加到现有散点图的问题。 例如,我有以下数据帧:将第三个轴添加到ggplot2中的散点图

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”值?

回答

2

这是为了评论而不是回答。 我们可以使用sec_axis来添加辅助轴,并且有几个关于它的文章。但是,在您的数据集中,a和c之间不存在一对一的关系。例如,c中的0.3值对应于a中的30,40,50个值。这使得在这种情况下双x轴的使用不令人满意。看下面的例子。

在SO中,使用ggplot2的次轴的问题一直颇有争议。最近版本的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")) 

enter image description here

相关问题