【问题标题】:How to DO NOT fill area under NaN in plotly如何在绘图中不填充 NaN 下的区域
【发布时间】:2020-02-14 11:36:24
【问题描述】:

大家好,

我正在与情节合作。

我需要画一条曲线并填充它下面的区域。可能会出现一些 NaN,在这种情况下不填充区域非常重要。

请注意,在我的情况下 0 和 NaN 是不同的,因此将 NaN 设置为 0 是解决我的情况不适合的区域问题的解决方案。

我尝试了以下代码:

import plotly.graph_objs as go
from plotly.offline import plot

p = go.Scatter(x=range(0,12),
           y = [1,2,3,np.nan, np.nan, np.nan, np.nan, np.nan, 0,0,0,5],
           fill='tozeroy')
fig = go.Figure([p])
plot(fig, auto_open=True)

但我得到了一个我不喜欢的结果。如您所见,没有对应于 NaN 的点,因此在悬停模式下不会显示任何内容(我喜欢它!)但是有区域。

我想达到这个结果:

import plotly.graph_objs as go
from plotly.offline import plot

p1 = go.Scatter(x=range(0,3),
           y = [1,2,3],
           fill='tozeroy')
p2 = go.Scatter(x=range(8,12),
           y = [0,0,0,5],
           fill='tozeroy')

fig = go.Figure([p1, p2])
plot(fig, auto_open=True)

(当然我希望图例中只有一种颜色和一个元素。)

你能帮我重现第二个图而不把曲线分成多条曲线吗?

谢谢

上午

【问题讨论】:

    标签: plotly data-visualization scatter graph-visualization


    【解决方案1】:

    已编辑:我不相信目前有办法对区域执行此操作,尽管它确实适用于线条。这是未解决的问题:https://github.com/plotly/plotly.js/issues/3244

    【讨论】:

    • Ciao,这对我不起作用。我正在研究python 2.7。我的情节版本是 3.7.0。对你起作用吗?如果是,您使用的是哪个情节版本?谢谢!
    • 啊,对不起,我的错误:这仍然是一个悬而未决的问题github.com/plotly/plotly.js/issues/3244
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多