Как я могу сделать следующее: у меня есть функция plot_forecast
с 3 аргументами (pandas series, confidence interval dataframe, int-value)
Мне нужно пропустить вторую серию pandas в некоторых случаях для построения двух линейных графиков на одном Пиплотная фигура. Если я введу if
в основной код и дважды вызову эту функцию, будет два графика. Вот мой код функции графика.
Я не понимаю, как исправить мой код
def plot_forecasts(forecasts, confidence_interval, s):
lower_ci = {"x": confidence_interval.index,
"y": confidence_interval['ci_lower'],
"line": {
"color": "#1EBC61",
"shape": "linear",
"width": 0.1
},
"mode": "lines",
"name": "Lower 95% CI",
"showlegend": False,
"type": "scatter",
"xaxis": "x",
"yaxis": "y"
}
upper_ci = {"x": confidence_interval.index,
"y": confidence_interval['ci_upper'],
"fill": "tonexty",
"line": {
"color": "#1EBC61",
"shape": "linear",#"spline",
"width": 0.1
},
"mode": "lines",
"name": "Upper 95% CI",
"type": "scatter",
"xaxis": "x",
"yaxis": "y"
}
forecasting = {'x': forecasts.index,
'y': forecasts.values,
"line": {
"color": "#005C01",
"shape": "linear",
"width": 3
},
"mode": "lines",
"name": "Forecasting",
"type": "scatter",
"xaxis": "x",
"yaxis": "y" }
plot_data = ([lower_ci, upper_ci, forecasting])
layout = go.Layout(title = f'{s} Forecasts')
fig = go.Figure(data = plot_data, layout=layout)
st.plotly_chart(fig)
Чтобы уточнить: прогнозы - это pandas датафрейм с чем-то вроде {'Jan 1, 1930': 622, 'Jan1, 1931': 1029, 'Jan 1, 1932': 1234}
и confidence_interval
также является data_frame, но с 2 столбцами ('ci_lower' and 'ci_upper')
и одинаковыми строками и значениями типа float