Skip to content

Commit 4089072

Browse files
committed
Delay matplotlib import
1 parent f9d88cd commit 4089072

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

pandas/plotting/__init__.py

-6
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@
44

55
# flake8: noqa
66

7-
try: # mpl optional
8-
from pandas.plotting import _converter
9-
_converter.register() # needs to override so set_xlim works with str/number
10-
except ImportError:
11-
pass
12-
137
from pandas.plotting._misc import (scatter_matrix, radviz,
148
andrews_curves, bootstrap_plot,
159
parallel_coordinates, lag_plot,

pandas/plotting/_core.py

+16-6
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,7 @@
4040
_get_xlim, _set_ticks_props,
4141
format_date_labels)
4242

43-
44-
if _mpl_ge_1_5_0():
45-
# Compat with mp 1.5, which uses cycler.
46-
import cycler
47-
colors = mpl_stylesheet.pop('axes.color_cycle')
48-
mpl_stylesheet['axes.prop_cycle'] = cycler.cycler('color', colors)
43+
_registered = False
4944

5045

5146
def _get_standard_kind(kind):
@@ -95,6 +90,7 @@ def __init__(self, data, kind=None, by=None, subplots=False, sharex=None,
9590
secondary_y=False, colormap=None,
9691
table=False, layout=None, **kwds):
9792

93+
self._setup()
9894
self.data = data
9995
self.by = by
10096

@@ -178,6 +174,20 @@ def __init__(self, data, kind=None, by=None, subplots=False, sharex=None,
178174

179175
self._validate_color_args()
180176

177+
def _setup(self):
178+
global _registered
179+
if not _registered:
180+
from pandas.plotting import _converter
181+
_converter.register()
182+
183+
if _mpl_ge_1_5_0():
184+
# Compat with mp 1.5, which uses cycler.
185+
import cycler
186+
colors = mpl_stylesheet.pop('axes.color_cycle')
187+
mpl_stylesheet['axes.prop_cycle'] = cycler.cycler('color', colors)
188+
189+
_registered = True
190+
181191
def _validate_color_args(self):
182192
if 'color' not in self.kwds and 'colors' in self.kwds:
183193
warnings.warn(("'colors' is being deprecated. Please use 'color'"

0 commit comments

Comments
 (0)