# Visualizing NeuralProphet’s Forecasts#

This notebook demonstrates what different plotting options are available in NeuralProphet.

As different plotting backends have different advantages and disadvantages, NeuralProphet supports multiple plotting backends: * `plotly`

: Interactive plots, but can be slow for large datasets and cannot be displayed in the docs version * `plotly-static`

: Static plots to be displayed in the docs version * `plotly-resampler`

: Interactive plots, that are faster for large datasets, but might not properly vizualise in some evnironments * `matplotlib`

: Static plots, but will be deprecated
soon

Let’s start with the same model as in the tutorials:

```
[14]:
```

```
import pandas as pd
from neuralprophet import NeuralProphet, set_log_level
# Disable logging messages unless there is an error
set_log_level("ERROR")
# Load the dataset from the CSV file using pandas
df = pd.read_csv("https://github.com/ourownstory/neuralprophet-data/raw/main/kaggle-energy/datasets/tutorial04.csv")
# Reduce the dataset to two years to better show the data
df = df.iloc[-365 * 2 :]
# Model and prediction
m = NeuralProphet(
# Disable trend changepoints
n_changepoints=10,
# Disable seasonality components
yearly_seasonality=True,
weekly_seasonality=True,
daily_seasonality=True,
n_lags=10,
)
m.add_lagged_regressor("temperature")
m.set_plotting_backend("plotly-static")
metrics = m.fit(df)
forecast = m.predict(df)
```

## Plot the forecast#

Plot the forecast of the model and the actual data.

```
[15]:
```

```
m.plot(forecast)
```

## Plot the components#

Plot the components of the forecast, i.e. trend, seasonality, and holidays. You can choose to plot all components or only a subset with ``components`. <https://neuralprophet.com/code/forecaster.html?highlight=lot_parameters#neuralprophet.forecaster.NeuralProphet.plot_parameters>`__

```
[16]:
```

```
m.plot_components(forecast)
```

## Plot the parameters#

To get a better understanding of the model, you can plot the parameters of the model. As in `plot_components`

, you can choose to plot all parameters or only a subset of parameters.

```
[17]:
```

```
m.plot_parameters()
```

## Plotting of multiple forecasts#

Neuralprophet can generate multiple step ahead forecasts by specifying the `n_forecasts`

parameter.

```
[18]:
```

```
# Model and prediction
m = NeuralProphet(
# Disable trend changepoints
n_changepoints=10,
# Disable seasonality components
yearly_seasonality=True,
weekly_seasonality=True,
daily_seasonality=True,
n_lags=10,
n_forecasts=10,
)
m.add_lagged_regressor("temperature")
m.set_plotting_backend("plotly-static")
metrics = m.fit(df)
forecast = m.predict(df)
```

If we plot our forecast as before, all step ahead forecasts will be plotted. However, we can also plot each step ahead forecast individually.

```
[24]:
```

```
m.plot(forecast, forecast_in_focus=4)
```

Trend, seasonality, and holidays are the same for all step ahead forecasts, so they are only plotted once. But autoregression and lagged regressors are different for each step ahead forecast. If `forecast_in_focus`

is not specified, the components plot shows the component share to each forecast step in different colors. If `forecast_in_focus`

is specified, the components plot shows the component share of the specified forecast step.

```
[31]:
```

```
# Show only last 20 days to better see the components
m.plot_components(forecast[-20:])
```

As the parameters are the same for all step ahead forecasts, they are only plotted once.

```
[32]:
```

```
m.plot_parameters()
```