在折线/面积图的左侧和右侧添加填充

时间:2019-10-28 15:08:33

标签: plotly plotly-dash plotly.js

如何在折线/面积图的左侧和右侧添加填充?

这是我的图表的样子:

enter image description here

这是它的外观(填充/边距部分):

enter image description here

2 个答案:

答案 0 :(得分:1)

修改轴范围fig.update_xaxes()似乎是最好的方法。而如何进行修改将取决于您的数据大小和类型。这是一个使用日期的示例,其中x轴的范围在源数据的开始和结束时增加了一天:

情节1: Adjusted x-axis

enter image description here

代码:

import pandas as pd
import plotly.graph_objects as go

# data
yVals = [3, 2, 3, 5, 2, 6]
days = len(yVals)
dates = pd.date_range('1/1/2020', periods=numdays)

# plotly figure
fig = go.Figure()
fig.add_trace(go.Scatter(x=dates,
                         y=yVals, 
                         fill='tozeroy')
             )

# adjustments
fig.update_xaxes(range=[dates[0]-1,dates[-1]+1])

fig.show()

图2: Unadjusted x-axis

enter image description here

答案 1 :(得分:0)

受《战地》 answer的启发,但使用Javascript完成。

之前

enter image description here

之后

enter image description here

代码

element = document.getElementById('traffic-overview');

data = [{
    x: ["2019-09-29", "2019-09-30", "2019-10-01", "2019-10-02", "2019-10-03", "2019-10-04", "2019-10-05", "2019-10-06", "2019-10-07", "2019-10-08", "2019-10-09", "2019-10-10", "2019-10-11", "2019-10-12", "2019-10-13", "2019-10-14", "2019-10-15", "2019-10-16", "2019-10-17", "2019-10-18", "2019-10-19", "2019-10-20", "2019-10-21", "2019-10-22", "2019-10-23", "2019-10-24", "2019-10-25", "2019-10-26", "2019-10-27", "2019-10-28"],
    y: [30, 66, 49, 154, 220, 224, 243, 164, 90, 71, 164, 199, 246, 251, 217, 85, 67, 156, 204, 218, 233, 204, 82, 59, 183, 205, 197, 219, 271, 116],
    fill: 'tozeroy',
    //fillcolor: '#9ed4fd',
    line: {
      color: '#008ffb'
    },
    //mode: 'lines',
    type: 'scatter'
}];

layout = {
    responsive: true,
    margin: { t: 10, b: 30, l: 30, r: 0 },
    xaxis: { range: ["2019-09-28", "2019-10-29"] } // <-- note this line!
};

Plotly.plot( element, data, layout );

JSFiddle