大家好,
我正在使用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