Skip to content

Commit 7cc0c54

Browse files
committed
Delay matplotlib import
1 parent 328c7e1 commit 7cc0c54

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
@@ -39,12 +39,7 @@
3939
_get_xlim, _set_ticks_props,
4040
format_date_labels)
4141

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

4944

5045
def _get_standard_kind(kind):
@@ -94,6 +89,7 @@ def __init__(self, data, kind=None, by=None, subplots=False, sharex=None,
9489
secondary_y=False, colormap=None,
9590
table=False, layout=None, **kwds):
9691

92+
self._setup()
9793
self.data = data
9894
self.by = by
9995

@@ -177,6 +173,20 @@ def __init__(self, data, kind=None, by=None, subplots=False, sharex=None,
177173

178174
self._validate_color_args()
179175

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

0 commit comments

Comments
 (0)