mirror of
https://github.com/saymrwulf/prophet.git
synced 2026-05-16 21:00:16 +00:00
Fix FutureWarning in plotting by deregistering matplotlib converters (the future behavior). Also fix bad date formatting in non-daily plot that started came with change in matplotlib default in 3.0.2
This commit is contained in:
parent
73c8faf15a
commit
a087eaec84
1 changed files with 19 additions and 1 deletions
|
|
@ -20,8 +20,16 @@ logger = logging.getLogger('fbprophet')
|
|||
|
||||
try:
|
||||
from matplotlib import pyplot as plt
|
||||
from matplotlib.dates import MonthLocator, num2date
|
||||
from matplotlib.dates import (
|
||||
MonthLocator,
|
||||
num2date,
|
||||
AutoDateLocator,
|
||||
AutoDateFormatter,
|
||||
)
|
||||
from matplotlib.ticker import FuncFormatter
|
||||
|
||||
from pandas.plotting import deregister_matplotlib_converters
|
||||
deregister_matplotlib_converters()
|
||||
except ImportError:
|
||||
logger.error('Importing matplotlib failed. Plotting will not work.')
|
||||
|
||||
|
|
@ -68,6 +76,11 @@ def plot(
|
|||
if uncertainty:
|
||||
ax.fill_between(fcst_t, fcst['yhat_lower'], fcst['yhat_upper'],
|
||||
color='#0072B2', alpha=0.2)
|
||||
# Specify formatting to workaround matplotlib issue #12925
|
||||
locator = AutoDateLocator(interval_multiples=False)
|
||||
formatter = AutoDateFormatter(locator)
|
||||
ax.xaxis.set_major_locator(locator)
|
||||
ax.xaxis.set_major_formatter(formatter)
|
||||
ax.grid(True, which='major', c='gray', ls='-', lw=1, alpha=0.2)
|
||||
ax.set_xlabel(xlabel)
|
||||
ax.set_ylabel(ylabel)
|
||||
|
|
@ -207,6 +220,11 @@ def plot_forecast_component(
|
|||
artists += [ax.fill_between(
|
||||
fcst_t, fcst[name + '_lower'], fcst[name + '_upper'],
|
||||
color='#0072B2', alpha=0.2)]
|
||||
# Specify formatting to workaround matplotlib issue #12925
|
||||
locator = AutoDateLocator(interval_multiples=False)
|
||||
formatter = AutoDateFormatter(locator)
|
||||
ax.xaxis.set_major_locator(locator)
|
||||
ax.xaxis.set_major_formatter(formatter)
|
||||
ax.grid(True, which='major', c='gray', ls='-', lw=1, alpha=0.2)
|
||||
ax.set_xlabel('ds')
|
||||
ax.set_ylabel(name)
|
||||
|
|
|
|||
Loading…
Reference in a new issue