Добавьте отступы слева и справа от графика линии / площади - PullRequest
1 голос
/ 28 октября 2019

Как добавить отступы на левой и правой сторонах графика линий / площадей?

Вот как выглядит мой график:

enter image description here

и вот так это должно выглядеть (часть отступов / полей):

enter image description here

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Изменение диапазона оси 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

0 голосов
/ 31 октября 2019

Вдохновлен ответом вестланда , но сделано в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...