我想用曲线绘制一个条形图和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')
)
Run Code Online (Sandbox Code Playgroud)
结果是对的,但我得到以下警告:
警告消息:以下属性不存在:'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')
)
Run Code Online (Sandbox Code Playgroud)
这次我得到以下消息,黑色折线图上显示红色标记.
已指定标记对象,但标记不在模式中添加标记...
我怎样才能解决这个问题?(我正在使用R封装4.1.0)
我正在运行4.0.1,但如果我添加mode='lines+markers'
而不是只是mode='lines'
错误消息消失了.
--edit添加完整代码 -
对于懒惰(像我一样),这里是我的最终完整代码:
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')
)
Run Code Online (Sandbox Code Playgroud)