Here is a very rough beginning to reproducing in ggplot what is returned by plot(forecast1).
library(forecast)
library(ggplot2)
DensityPerYear <- data.frame(Year = 1970:2019, Density = sin((1:50)*pi/4))
tsDensityPerYear <- ts(DensityPerYear$Density, frequency = 1, start = c(1970))
autoarima1 <- auto.arima(tsDensityPerYear)
forecast1 <- forecast(autoarima1, h=12)
plot(forecast1)

NewDF <- data.frame(Year = 2020:2031,
Mean =forecast1$mean,
Lower = forecast1$lower, #forecast1$lower is a data frame with 2 col
Upper = forecast1$upper)
ggplot(data = NewDF) + geom_line(mapping = aes(Year, Mean)) +
geom_line(mapping = aes(Year, Lower.80.)) +
geom_line(mapping = aes(Year, Lower.95.)) +
geom_line(mapping = aes(Year, Upper.80.)) +
geom_line(mapping = aes(Year, Upper.95.)) +
geom_line(mapping = aes(Year, Density), data = DensityPerYear)
#> Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.

Created on 2020-03-22 by the reprex package (v0.3.0)