Issue 1:
I was trying to copy a seaborn.matrix.ClusterGrid object using copy.deepcopy(object) but got this error:

---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-165-32d2d97b21c3> in <module>
----> 1 test3=copy.deepcopy(test)

/usr/lib/python3.6/copy.py in deepcopy(x, memo, _nil)
178 y = x
179 else:
--> 180 y = _reconstruct(x, memo, *rv)
181
182 # If is its own copy, don't memoize.

/usr/lib/python3.6/copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
278 if state is not None:
279 if deep:
--> 280 state = deepcopy(state, memo)
281 if hasattr(y, '__setstate__'):
282 y.__setstate__(state)

/usr/lib/python3.6/copy.py in deepcopy(x, memo, _nil)
148 copier = _deepcopy_dispatch.get(cls)
149 if copier:
--> 150 y = copier(x, memo)
151 else:
152 try:

/usr/lib/python3.6/copy.py in _deepcopy_dict(x, memo, deepcopy)
238 memo[id(x)] = y
239 for key, value in x.items():
--> 240 y[deepcopy(key, memo)] = deepcopy(value, memo)
241 return y
242 d[dict] = _deepcopy_dict

/usr/lib/python3.6/copy.py in deepcopy(x, memo, _nil)
178 y = x
179 else:
--> 180 y = _reconstruct(x, memo, *rv)
181
182 # If is its own copy, don't memoize.

/usr/lib/python3.6/copy.py in _reconstruct(x, memo, func, args, state, listiter, dictiter, deepcopy)
278 if state is not None:
279 if deep:
--> 280 state = deepcopy(state, memo)
281 if hasattr(y, '__setstate__'):
282 y.__setstate__(state)

/usr/lib/python3.6/copy.py in deepcopy(x, memo, _nil)
148 copier = _deepcopy_dispatch.get(cls)
149 if copier:
--> 150 y = copier(x, memo)
151 else:
152 try:

/usr/lib/python3.6/copy.py in _deepcopy_dict(x, memo, deepcopy)
238 memo[id(x)] = y
239 for key, value in x.items():
--> 240 y[deepcopy(key, memo)] = deepcopy(value, memo)
241 return y
242 d[dict] = _deepcopy_dict

/usr/lib/python3.6/copy.py in deepcopy(x, memo, _nil)
159 copier = getattr(x, "__deepcopy__", None)
160 if copier:
--> 161 y = copier(memo)
162 else:
163 reductor = dispatch_table.get(cls)

/usr/local/lib/python3.6/dist-packages/matplotlib/transforms.py in __copy__(self, *args)
120 def __copy__(self, *args):
121 raise NotImplementedError(
--> 122 "TransformNode instances can not be copied. "
123 "Consider using frozen() instead.")
124 __deepcopy__ = __copy__

NotImplementedError: TransformNode instances can not be copied. Consider using frozen() instead.

Any ideas?

Or is there any other way to duplicate an object without copying by reference?

Thanks

Issue 2:
Hello,

I use seaborn extensively for creating plots in my NanoPlot tool. Users have been reporting the following error:

Traceback (most recent call last):
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/nanoplot/NanoPlot.py", line 61, in main
make_plots(datadf, settings, args)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/nanoplot/NanoPlot.py", line 260, in make_plots
log=settings["logBool"])
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/nanoplotter/nanoplotter.py", line 250, in length_plots
kde_kws={"label": name, "clip": (0, maxvalx)})
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/seaborn/distributions.py", line 224, in distplot
kdeplot(a, vertical=vertical, ax=ax, color=kde_color, **kde_kws)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/seaborn/distributions.py", line 657, in kdeplot
cumulative=cumulative, **kwargs)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/seaborn/distributions.py", line 273, in _univariate_kdeplot
cumulative=cumulative)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/seaborn/distributions.py", line 345, in _statsmodels_univariate_kde
kde.fit(kernel, bw, fft, gridsize=gridsize, cut=cut, clip=clip)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/statsmodels/nonparametric/kde.py", line 146, in fit
clip=clip, cut=cut)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/statsmodels/nonparametric/kde.py", line 506, in kdensityfft
f = revrt(zstar)
File "/users/218819/scratch/apps/Anaconda3/lib/python3.5/site-packages/statsmodels/nonparametric/kdetools.py", line 20, in revrt
y = X[:m/2+1] + np.r_[0,X[m/2+1:],0]*1j
TypeError: slice indices must be integers or None or have an __index__ method

wdecoster/NanoPlot#52

wdecoster/nanopack#5

wdecoster/NanoPlot#23

wdecoster/NanoPlot#45

See also #1103 and #1092 for the same problem

Would it make sense to make seaborn depend on statsmodels>=0.8.0 or a recent scipy version? I'd be happy to open a PR for this if you agree.

Cheers,

Wouter