Plotting method for forecasts obtained from predict.bvar. Forecasts of all or a subset of the available variables can be plotted.
## S3 method for class 'bvar_fcast'plot( x, vars =NULL, col ="#737373", t_back =1, area =FALSE, fill ="#808080", variables =NULL, orientation = c("vertical","horizontal"), mar = c(2,2,2,0.5),...)
Arguments
x: A bvar_fcast object, obtained from predict.bvar.
vars: Optional numeric or character vector. Used to subset the plot to certain variables by position or name (must be available). Defaults to NULL, i.e. all variables.
col: Character vector. Colour(s) of the lines delineating credible intervals. Single values will be recycled if necessary. Recycled HEX color codes are varied in transparency if not provided (e.g. "#737373FF"). Lines can be bypassed by setting this to "transparent".
t_back: Integer scalar. Number of observed datapoints to plot ahead of the forecast.
area: Logical scalar. Whether to fill the credible intervals using polygon.
fill: Character vector. Colour(s) to fill the credible intervals with. See col for more information.
variables: Optional character vector. Names of all variables in the object. Used to subset and title. Taken from x$variables if available.
orientation: String indicating the orientation of the plots. Defaults to "v" (i.e. vertical); may be set to "h" (i.e. horizontal).
mar: Numeric vector. Margins for par.
...: Other graphical parameters for par.
Returns
Returns x invisibly.
Examples
# Access a subset of the fred_qd datasetdata <- fred_qd[, c("CPIAUCSL","UNRATE","FEDFUNDS")]# Transform it to be stationarydata <- fred_transform(data, codes = c(5,5,1), lag =4)# Estimate a BVAR using one lag, default settings and very few drawsx <- bvar(data, lags =1, n_draw =1000L, n_burn =200L, verbose =FALSE)# Store predictions ex-postpredict(x)<- predict(x)# Plot forecasts for all available variablesplot(predict(x))# Subset to variables in positions 1 and 3 via their nameplot(predict(x), vars = c("CPI","FED"))# Subset via position, increase the plotted forecast horizon and past dataplot(predict(x, horizon =20), vars = c(1,3), t_back =10)# Adjust confidence bands and the plot's orientationplot(predict(x, conf_bands =0.25), orientation ="h")# Draw areas inbetween the confidence bands and skip drawing linesplot(predict(x), col ="transparent", area =TRUE)# Plot a conditional forecast (with a constrained second variable).plot(predict(x, cond_path = c(1,1,1,1,1,1), cond_var =2))