我试图用fill和NA值绘制一个折线图.Plotly自动用NA值填充零件,我希望它为空.获得正确图形的最佳方法是什么?

不能将NA值设置为0.我也在使用胡佛,不希望在悬停在线上时得到0的结果.

示例R数据+代码:

library(plotly)

set.seed(1)
A = data.frame(x = 1900:2000, value=cumsum(rnorm(101)))
A[40:70, 2:3] = NA

fig <- plot_ly(x = A$x, y = A$value, type = 'scatter', mode = 'lines', fill = 'tozeroy')
fig

Result: enter image description here

Desired Result: enter image description here

推荐答案

您可以将数据放入单独的记录道中,以实现以下目的:

library(plotly)
library(data.table)

set.seed(1)
A = data.frame(x = 1900:2000, value = cumsum(rnorm(101)))
A[40:70, 2] = NA

setDT(A)
A[, id := rleid(is.na(value))]

fig <- plot_ly(
    data = A,
    x = ~ x,
    y = ~ value,
    type = 'scatter',
    mode = 'lines',
    fill = 'tozeroy',
    split = ~ id,
    color = I("#1f77b4"),
    showlegend = FALSE
  )
fig

result

R相关问答推荐

如何通过Exams2黑板对非整数字的问题进行评分

R -创建一列,指示另一列是否具有相同的值

将收件箱变量传递给ggplot 2函数

如何在x轴下方画一条带有箭头的线?

如何使用geom_sf在边界显示两种 colored颜色 ?

删除facet_wrap标签之间的水平线

根据列表中项目的名称多次合并数据框和列表

从嵌套列表中智能提取线性模型系数

判断字符串中数字的连续性

如何计算R数据集中每个女性的子元素数量?

如何从R中的字符串元素中减go 一个数字?

可以替代与NSE一起使用的‘any_of()’吗?

有效识别长载体中的高/低命中

如何根据数据帧中的值从该数据帧中提取值?

R中有约束的优化问题:如何用复数和对数效益函数解决问题?

如何在反曲线图中更改X标签

如何构建一个for循环来循环处理动物ID?

填充图例什么时候会有点?

按镜像列值自定义行顺序

具有自定义仓位限制和计数的GGPLATE直方图