情节条形图和折线图

时间:2016-08-02 13:42:31

标签: r plotly

我想用R绘制一个条形图和一个折线图。

我的第一次尝试是

p <- plot_ly(
  x = c(1,2,3,4,5),
  y = c(1,2,1.5,3,2),
  type='scatter',
  mode='lines',
  line = list(color = 'black')
)
add_trace(
  p,
  x = c(1,2,3,4,5),
  y = c(0.5,0.7,0.6,0.9,0.8),
  type='bar',
  marker = list(color = 'red')
)

结果是对的,但我收到以下警告:

  

警告消息:以下属性不存在:'mode','line'

我想因add_trace()中的条形图无法处理line函数中的modeplot_ly()参数。所以我改变了顺序:

p <- plot_ly(
  x = c(1,2,3,4,5),
  y = c(0.5,0.7,0.6,0.9,0.8),
  type='bar',
  marker = list(color = 'red')
)
add_trace(
  p,
  x = c(1,2,3,4,5),
  y = c(1,2,1.5,3,2),
  type='scatter',
  mode='lines',
  line = list(color = 'black')
)

这次我收到以下消息,黑色折线图上显示红色标记。

  

已指定标记对象,但标记不在模式中   将标记添加到模式...

我该如何解决这个问题? (我正在使用R包 plotly 4.1.0

1 个答案:

答案 0 :(得分:5)

我正在运行4.0.1,但如果我添加mode='lines+markers'而不只是mode='lines',则错误消息会消失。

- 编辑以添加完整代码 -

对于懒惰(和我一样),这里是我的最终完整代码:

p <- plot_ly(x = c(1,2,3,4,5),
             y = c(0.5,0.7,0.6,0.9,0.8),
             type='bar',
             marker = list(color = 'red', opacity=0)
     )

add_trace(p,
          x = c(1,2,3,4,5),
          y = c(1,2,1.5,3,2),
          type='scatter',
          mode='lines+markers',
          line = list(color = 'black')
     )