我想用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
函数中的mode
和plot_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 )
答案 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')
)