如何在Plotly中避免填充NaN下的区域

8

大家好,

我正在使用plotly工具。

我需要画一条曲线并填充其下面的区域。有可能会出现一些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)

这里输入图片描述

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

你能帮我重现第二张图,而不需要将曲线分成多个曲线吗?

谢谢。

am

1个回答

1

你好,它对我不起作用。我正在使用Python 2.7。我的Plotly版本是3.7.0。它对你来说有效吗?如果是的话,你使用的是哪个版本的Plotly?谢谢! - clarkmaio
啊,抱歉,我的错误:这仍然是一个未解决的问题 https://github.com/plotly/plotly.js/issues/3244 - nicolaskruchten
这个问题解决了吗? - plonfat
@plonfat 不,我现在正在使用Python3,但它不起作用(plotly==5.4.0)。 - clarkmaio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接