r中的多轴-仅绘制最后一个轴

时间:2018-11-02 11:45:33

标签: r plotly axes

当我尝试在不同的轴上绘制多条迹线时,仅显示最后一条。

首先让我们假设我用一个斧头绘制所有东西:

temp <- data.frame(x = c('a','b','c','d','e'),
 a = c(1,2,3,4,5),
 b = c(10,20,30,40,50),
 c = c(.1,.2,.3,.4,.5))
 p = plot_ly()
 for(l in c('a','b','c')){
     x = temp[,'x']
     y = temp[, l]
     p <- p %>%
         add_trace(x = x, y = y)
    }

What i've got

问题是,大数字会淹没小数字,您无法(即比较绿色条形)。 所以我决定使用如下所示的不同轴

p = plot_ly()
i=0
for(l in c('a','b','c')){
    i=i+1
    x = temp[,'x']
    y = temp[, l]
    p <- p %>%
        add_trace(x = x, y = y, yaxis = paste('y',i,sep=''))
    }

What i've got

如您所见,仅绘制了最后一个斧头的迹线。覆盖不是问题。在下图中,我禁用了trace2,这次完全没有绘制任何内容。

Nothing plotted

我知道布局可能是个问题,我尝试了许多不同的方法来设置它,但没有效果。 我将在用户选择将在图表上绘制的字段(也是动态生成的)的应用程序中使用它。对我来说至关重要的是,该解决方案不能假定对任何字段名称进行硬编码。

0 个答案:

没有答案