In [3]:
%matplotlib inline
from mpl_toolkits.mplot3d.axes3d import Axes3D
import matplotlib.pyplot as plt


# imports specific to the plots in this example
import numpy as np
from matplotlib import cm
from mpl_toolkits.mplot3d.axes3d import get_test_data

# Twice as wide as it is tall.
fig = plt.figure(figsize=plt.figaspect(0.5))

#---- First subplot
ax = fig.add_subplot(1, 2, 1, projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
                       linewidth=0, antialiased=False)
ax.set_zlim3d(-1.01, 1.01)

fig.colorbar(surf, shrink=0.5, aspect=10)

#---- Second subplot
ax = fig.add_subplot(1, 2, 2, projection='3d')
X, Y, Z = get_test_data(0.05)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

plt.show()



In [5]:
from math import log
list = [2, 4, 8, 16]
for i in range(len(list)):
    list[i] = log(list[i], 2)
list


Out[5]:
[1.0, 2.0, 3.0, 4.0]

In [18]:
X = data['L1']
Y = data['L2']
Z = data['200000_test_acc']


Out[18]:
array(['0.136719', '0.0546875', '0.0859375', '0.109375', '0.0898438',
       '0.109375', '0.289062', '0.207031', '0.0742188', '0.847656',
       '0.121094', '0.0898438', '0.0546875', '0.0859375', '0.136719',
       '0.355469', '0.503906', '0.804688', '0.902344', '0.863281',
       '0.109375', '0.121094', '0.09375', '0.0742188', '0.136719',
       '0.0742188', '0.207031', '0.917969', '0.902344', '0.964844',
       '0.121094', '0.132812', '0.09375', '0.136719', '0.132812',
       '0.132812', '0.160156', '0.921875', '0.941406', '0.949219',
       '0.0742188', '0.0859375', '0.121094', '0.136719', '0.0585938',
       '0.25', '0.316406', '0.273438', '0.941406', '0.953125', '0.101562',
       '0.101562', '0.136719', '0.121094', '0.121094', '0.191406',
       '0.261719', '0.574219', '0.894531', '0.976562', '0.136719',
       '0.0742188', '0.132812', '0.101562', '0.132812', '0.167969',
       '0.101562', '0.285156', '0.910156', '0.933594', '0.0742188',
       '0.0742188', '0.121094', '0.0859375', '0.121094', '0.0703125',
       '0.203125', '0.261719', '0.101562', '0.929688', '0.0742188',
       '0.132812', '0.136719', '0.09375', '0.0546875', '0.136719',
       '0.144531', '0.261719', '0.53125', '0.96875', '0.09375', '0.136719',
       '0.0546875', '0.132812', '0.117188', '0.136719', '0.171875',
       '0.164062', '0.25', '0.933594', '0.132812', '0.0742188', '0.128906',
       '0.121094', '0.144531', '0.125', '0.0898438', '0.222656',
       '0.121094', '0.925781', '0.0546875', '0.125', '0.109375', '0.125',
       '0.0898438', '0.3125', '0.148438', '0.867188', '0.890625',
       '0.898438', '0.0859375', '0.0898438', '0.121094', '0.0546875',
       '0.152344', '0.148438', '0.109375', '0.84375', '0.960938',
       '0.949219', '0.09375', '0.136719', '0.09375', '0.0546875',
       '0.0859375', '0.0820312', '0.21875', '0.160156', '0.96875',
       '0.964844', '0.121094', '0.09375', '0.140625', '0.09375',
       '0.140625', '0.117188', '0.128906', '0.175781', '0.894531',
       '0.96875', '0.121094', '0.109375', '0.121094', '0.121094',
       '0.132812', '0.140625', '0.25', '0.257812', '0.910156', '0.960938',
       '0.0742188', '0.136719', '0.132812', '0.078125', '0.113281',
       '0.0546875', '0.273438', '0.5', '0.621094', '0.972656', '0.0742188',
       '0.109375', '0.09375', '0.0859375', '0.132812', '0.113281',
       '0.101562', '0.449219', '0.277344', '0.972656', '0.121094',
       '0.136719', '0.136719', '0.09375', '0.136719', '0.113281', '0.125',
       '0.144531', '0.492188', '0.964844', '0.0898438', '0.0742188',
       '0.0742188', '0.113281', '0.136719', '0.078125', '0.179688', '0.25',
       '0.257812', '0.367188', '0.0546875', '0.0546875', '0.0546875',
       '0.113281', '0.132812', '0.164062', '0.136719', '0.0898438',
       '0.101562', '0.234375', '0.0859375', '0.121094', '0.136719',
       '0.136719', '0.0546875', '0.121094', '0.558594', '0.890625',
       '0.917969', '0.609375', '0.0898438', '0.0859375', '0.132812',
       '0.0898438', '0.113281', '0.140625', '0.714844', '0.902344',
       '0.945312', '0.941406', '0.0898438', '0.0859375', '0.0898438',
       '0.09375', '0.113281', '0.136719', '0.0898438', '0.46875',
       '0.960938', '0.960938', '0.125', '0.0859375', '0.09375', '0.113281',
       '0.144531', '0.136719', '0.160156', '0.894531', '0.976562',
       '0.960938', '0.132812', '0.0898438', '0.136719', '0.136719',
       '0.09375', '0.140625', '0.167969', '0.199219', '0.972656',
       '0.984375', '0.136719', '0.0898438', '0.0898438', '0.136719',
       '0.109375', '0.140625', '0.179688', '0.226562', '0.933594',
       '0.960938', '0.136719', '0.09375', '0.136719', '0.109375',
       '0.09375', '0.09375', '0.101562', '0.238281', '0.792969',
       '0.972656', '0.136719', '0.121094', '0.09375', '0.0546875', '0.125',
       '0.078125', '0.199219', '0.164062', '0.894531', '0.945312',
       '0.101562', '0.0859375', '0.109375', '0.109375', '0.121094',
       '0.136719', '0.125', '0.136719', '0.242188', '0.9375', '0.0546875',
       '0.121094', '0.0546875', '0.0859375', '0.078125', '0.0625', '0.125',
       '0.113281', '0.179688', '0.136719', '0.132812', '0.136719',
       '0.136719', '0.0898438', '0.125', '0.175781', '0.183594',
       '0.0976562', '0.0898438', '0.429688', '0.0742188', '0.136719',
       '0.101562', '0.136719', '0.140625', '0.0898438', '0.820312',
       '0.910156', '0.871094', '0.90625', '0.136719', '0.132812',
       '0.121094', '0.144531', '0.121094', '0.128906', '0.128906',
       '0.921875', '0.964844', '0.976562', '0.136719', '0.136719',
       '0.09375', '0.09375', '0.128906', '0.152344', '0.09375', '0.523438',
       '0.941406', '1', '0.128906', '0.101562', '0.136719', '0.136719',
       '0.121094', '0.09375', '0.132812', '0.773438', '0.921875',
       '0.976562', '0.109375', '0.109375', '0.0742188', '0.09375',
       '0.0898438', '0.132812', '0.164062', '0.210938', '0.941406',
       '0.988281', '0.132812', '0.132812', '0.136719', '0.09375',
       '0.101562', '0.0585938', '0.15625', '0.207031', '0.863281',
       '0.976562', '0.0859375', '0.136719', '0.121094', '0.136719',
       '0.09375', '0.109375', '0.15625', '0.1875', '0.308594', '0.972656',
       '0.132812', '0.0859375', '0.0898438', '0.0859375', '0.0898438',
       '0.136719', '0.136719', '0.121094', '0.324219', '0.992188',
       '0.132812', '0.0859375', '0.136719', '0.136719', '0.136719',
       '0.117188', '0.171875', '0.0898438', '0.195312', '0.132812',
       '0.0742188', '0.136719', '0.113281', '0.105469', '0.117188',
       '0.148438', '0.0742188', '0.148438', '0.132812', '0.0976562',
       '0.101562', '0.0742188', '0.136719', '0.101562', '0.0859375',
       '0.140625', '0.199219', '0.785156', '0.902344', '0.890625',
       '0.0898438', '0.109375', '0.0859375', '0.109375', '0.136719',
       '0.101562', '0.125', '0.6875', '0.945312', '0.957031', '0.136719',
       '0.0898438', '0.09375', '0.136719', '0.15625', '0.128906',
       '0.179688', '0.421875', '0.953125', '0.988281', '0.136719',
       '0.0859375', '0.136719', '0.0859375', '0.0859375', '0.101562',
       '0.144531', '0.628906', '0.957031', '0.984375', '0.136719',
       '0.121094', '0.0898438', '0.132812', '0.0546875', '0.125',
       '0.109375', '0.226562', '0.957031', '0.976562', '0.06445315',
       '0.121094', '0.109375', '0.132812', '0.132812', '0.109375',
       '0.148438', '0.144531', '0.941406', '0.980469', '0.11132825',
       '0.136719', '0.121094', '0.136719', '0.109375', '0.0585938',
       '0.09375', '0.15625', '0.3125', '0.980469', '0.097656', '0.09375',
       '0.0859375', '0.0546875', '0.132812', '0.09375', '0.136719',
       '0.125', '0.339844', '0.964844', '0.136719', '0.0898438',
       '0.136719', '0.0546875', '0.261719', '0.0898438', '0.121094',
       '0.195312', '0.210938', '0.0976562', '0.109375', '0.136719',
       '0.0546875', '0.136719', '0.0898438', '0.195312', '0.183594',
       '0.0859375', '0.132812', '0.160156', '0.101562', '0.109375',
       '0.136719', '0.136719', '0.0898438', '0.136719', '0.183594',
       '0.175781', '0.15625', '0.34375', '0.0546875', '0.136719',
       '0.136719', '0.0898438', '0.09375', '0.113281', '0.167969',
       '0.921875', '0.984375', '0.933594', '0.101562', '0.132812',
       '0.101562', '0.0898438', '0.132812', '0.140625', '0.113281',
       '0.933594', '0.957031', '0.988281', '0.09375', '0.136719',
       '0.136719', '0.101562', '0.09375', '0.136719', '0.101562',
       '0.929688', '0.972656', '0.984375', '0.0546875', '0.132812',
       '0.121094', '0.136719', '0.136719', '0.109375', '0.121094',
       '0.207031', '0.964844', '0.980469', '0.136719', '0.0859375',
       '0.0742188', '0.0742188', '0.121094', '0.0898438', '0.128906',
       '0.207031', '0.933594', '0.976562', '0.0859375', '0.0898438',
       '0.109375', '0.0546875', '0.09375', '0.128906', '0.15625',
       '0.132812', '0.550781', '0.976562', '0.0898438', '0.136719',
       '0.136719', '0.109375', '0.09375', '0.121094', '0.0898438',
       '0.0859375', '0.390625', '0.960938', '0.0898438', '0.136719',
       '0.136719', '0.117188', '0.136719', '0.136719', '0.136719',
       '0.121094', '0.132812', '0.136719', '0.132812', '0.136719',
       '0.121094', '0.136719', '0.136719', '0.0898438', '0.0898438',
       '0.101562', '0.09375', '0.0859375', '0.0898438', '0.121094',
       '0.101562', '0.09375', '0.0546875', '0.0898438', '0.136719',
       '0.195312', '0.136719', '0.132812', '0.136719', '0.101562',
       '0.0546875', '0.136719', '0.09375', '0.132812', '0.140625',
       '0.109375', '0.140625', '0.960938', '0.109375', '0.113281',
       '0.09375', '0.0546875', '0.0859375', '0.144531', '0.148438',
       '0.945312', '0.960938', '0.976562', '0.121094', '0.132812',
       '0.136719', '0.109375', '0.0859375', '0.121094', '0.140625',
       '0.238281', '0.96875', '0.988281', '0.0898438', '0.136719',
       '0.0546875', '0.09375', '0.125', '0.09375', '0.140625', '0.210938',
       '0.964844', '0.984375', '0.121094', '0.0742188', '0.109375',
       '0.136719', '0.109375', '0.125', '0.136719', '0.175781', '0.609375',
       '0.980469', '0.0859375', '0.136719', '0.136719', '0.132812',
       '0.136719', '0.132812', '0.136719', '0.195312', '0.335938',
       '0.972656', '0.136719', '0.101562', '0.0546875', '0.109375',
       '0.132812', '0.121094', '0.164062', '0.125', '0.230469', '0.972656',
       '0.09375', '0.128906', '0.0898438', '0.09375', '0.121094',
       '0.0898438', '0.0742188', '0.121094', '0.136719', '0.0742188',
       '0.101562', '0.0742188', '0.136719', '0.113281', '0.121094',
       '0.136719', '0.0898438', '0.136719', '0.117188', '0.136719',
       '0.132812', '0.132812', '0.121094', '0.132812', '0.0742188',
       '0.136719', '0.0898438', '0.0742188', '0.0898438', '0.136719',
       '0.121094', '0.132812', '0.09375', '0.101562', '0.121094',
       '0.164062', '0.0742188', '0.136719', '0.136719', '0.835938',
       '0.109375', '0.136719', '0.109375', '0.109375', '0.136719',
       '0.140625', '0.148438', '0.9375', '0.957031', '0.949219',
       '0.136719', '0.136719', '0.136719', '0.0898438', '0.136719',
       '0.125', '0.0898438', '0.925781', '0.976562', '0.964844',
       '0.136719', '0.0898438', '0.101562', '0.09375', '0.136719',
       '0.144531', '0.0859375', '0.1875', '0.96875', '0.988281', '0.09375',
       '0.132812', '0.0898438', '0.0859375', '0.136719', '0.0742188',
       '0.0976562', '0.140625', '0.945312', '0.976562', '0.0859375',
       '0.0859375', '0.109375', '0.136719', '0.136719', '0.148438',
       '0.128906', '0.164062', '0.578125', '0.984375', '0.136719',
       '0.09375', '0.0898438', '0.0742188', '0.0820312', '0.113281',
       '0.121094', '0.132812', '0.246094', '0.960938', '0.132812',
       '0.0898438', '0.0898438', '0.121094', '0.0859375', '0.132812',
       '0.121094', '0.09375', '0.121094', '0.136719', '0.132812',
       '0.0898438', '0.0859375', '0.148438', '0.0546875', '0.09375',
       '0.0898438', '0.136719', '0.0898438', '0.0898438', '0.136719',
       '0.109375', '0.0898438', '0.109375', '0.109375', '0.140625',
       '0.0898438', '0.136719', '0.0546875', '0.0859375', '0.101562',
       '0.0898438', '0.101562', '0.132812', '0.0546875', '0.0742188',
       '0.128906', '0.0859375', '0.121094', '0.0859375', '0.0898438',
       '0.132812', '0.121094', '0.0859375', '0.160156', '0.0976562',
       '0.871094', '0.933594', '0.921875', '0.96875', '0.109375',
       '0.0859375', '0.0859375', '0.136719', '0.0898438', '0.125',
       '0.113281', '0.503906', '0.984375', '0.976562', '0.0859375',
       '0.09375', '0.136719', '0.121094', '0.0976562', '0.117188',
       '0.0976562', '0.214844', '0.984375', '0.996094', '0.109375',
       '0.136719', '0.109375', '0.136719', '0.109375', '0.140625',
       '0.105469', '0.183594', '0.984375', '0.992188', '0.109375',
       '0.132812', '0.0859375', '0.136719', '0.0546875', '0.101562',
       '0.117188', '0.160156', '0.339844', '0.976562', '0.109375',
       '0.09375', '0.136719', '0.0742188', '0.136719', '0.09375',
       '0.144531', '0.183594', '0.234375', '0.976562', '0.132812',
       '0.0859375', '0.09375', '0.136719', '0.09375', '0.109375',
       '0.09375', '0.09375', '0.0898438', '0.136719', '0.101562',
       '0.101562', '0.0898438', '0.140625', '0.09375', '0.136719',
       '0.0742188', '0.125', '0.101562', '0.109375', '0.0898438',
       '0.136719', '0.09375', '0.136719', '0.140625', '0.09375', '0.09375',
       '0.109375', '0.113281', '0.078125', '0.136719', '0.132812',
       '0.136719', '0.105469', '0.136719', '0.136719', '0.109375',
       '0.136719', '0.0898438', '0.136719', '0.0742188', '0.109375',
       '0.136719', '0.136719', '0.140625', '0.121094', '0.0585938',
       '0.125', '0.136719', '0.078125', '0.136719', '0.136719', '0.136719',
       '0.0742188', '0.0859375', '0.0585938', '0.15625', '0.925781',
       '0.976562', '0.960938', '0.0898438', '0.0859375', '0.101562',
       '0.136719', '0.0585938', '0.136719', '0.128906', '0.242188',
       '0.972656', '0.984375', '0.136719', '0.0742188', '0.136719',
       '0.09375', '0.0898438', '0.117188', '0.113281', '0.152344',
       '0.960938', '0.992188', '0.0546875', '0.09375', '0.0742188',
       '0.136719', '0.109375', '0.121094', '0.160156', '0.144531',
       '0.597656', '0.976562', '0.101562', '0.09375', '0.109375',
       '0.136719', '0.09375', '0.0976562', '0.109375', '0.136719',
       '0.140625', 'NA'], 
      dtype='|S10')

In [20]:
%matplotlib inline
data = np.genfromtxt('../log/mnist-cnn-2-tidy.csv', delimiter=',', names=True, unpack=True, dtype=None)
X = data['L1']
Y = data['L2']
Z = data['200000_test_acc']
fig = plt.figure(figsize=plt.figaspect(1))
ax = fig.add_subplot(1, 2, 2, projection='3d')
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

plt.show()



ValueErrorTraceback (most recent call last)
<ipython-input-20-ae98ee35f2fa> in <module>()
      6 fig = plt.figure(figsize=plt.figaspect(1))
      7 ax = fig.add_subplot(1, 2, 2, projection='3d')
----> 8 ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
      9 
     10 plt.show()

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/axes3d.pyc in plot_wireframe(self, X, Y, Z, *args, **kwargs)
   1805         linec = art3d.Line3DCollection(lines, *args, **kwargs)
   1806         self.add_collection(linec)
-> 1807         self.auto_scale_xyz(X, Y, Z, had_data)
   1808 
   1809         return linec

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/axes3d.pyc in auto_scale_xyz(self, X, Y, Z, had_data)
    473         self.xy_dataLim.update_from_data_xy(np.array([x, y]).T, not had_data)
    474         if z is not None:
--> 475             self.zz_dataLim.update_from_data_xy(np.array([z, z]).T, not had_data)
    476 
    477         # Let autoscale_view figure out how to use this data.

/usr/local/lib/python2.7/dist-packages/matplotlib/transforms.pyc in update_from_data_xy(self, xy, ignore, updatex, updatey)
    951             return
    952 
--> 953         path = Path(xy)
    954         self.update_from_path(path, ignore=ignore,
    955                                     updatex=updatex, updatey=updatey)

/usr/local/lib/python2.7/dist-packages/matplotlib/path.pyc in __init__(self, vertices, codes, _interpolation_steps, closed, readonly)
    135             vertices = vertices.astype(np.float_).filled(np.nan)
    136         else:
--> 137             vertices = np.asarray(vertices, np.float_)
    138 
    139         if (vertices.ndim != 2) or (vertices.shape[1] != 2):

/usr/local/lib/python2.7/dist-packages/numpy/core/numeric.pyc in asarray(a, dtype, order)
    480 
    481     """
--> 482     return array(a, dtype, copy=False, order=order)
    483 
    484 def asanyarray(a, dtype=None, order=None):

ValueError: could not convert string to float: NA
Error in callback <function post_execute at 0x7f84912e6d70> (for post_execute):

TypeErrorTraceback (most recent call last)
/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.pyc in post_execute()
    145             def post_execute():
    146                 if matplotlib.is_interactive():
--> 147                     draw_all()
    148 
    149             # IPython >= 2

/usr/local/lib/python2.7/dist-packages/matplotlib/_pylab_helpers.pyc in draw_all(cls, force)
    148         for f_mgr in cls.get_all_fig_managers():
    149             if force or f_mgr.canvas.figure.stale:
--> 150                 f_mgr.canvas.draw_idle()
    151 
    152 atexit.register(Gcf.destroy_all)

/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.pyc in draw_idle(self, *args, **kwargs)
   2024         if not self._is_idle_drawing:
   2025             with self._idle_draw_cntx():
-> 2026                 self.draw(*args, **kwargs)
   2027 
   2028     def draw_cursor(self, event):

/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    472 
    473         try:
--> 474             self.figure.draw(self.renderer)
    475         finally:
    476             RendererAgg.lock.release()

/usr/local/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/local/lib/python2.7/dist-packages/matplotlib/figure.pyc in draw(self, renderer)
   1157         dsu.sort(key=itemgetter(0))
   1158         for zorder, a, func, args in dsu:
-> 1159             func(*args)
   1160 
   1161         renderer.close_group('figure')

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/axes3d.pyc in draw(self, renderer)
    269         # Calculate projection of collections and zorder them
    270         zlist = [(col.do_3d_projection(renderer), col) \
--> 271                  for col in self.collections]
    272         zlist.sort(key=itemgetter(0), reverse=True)
    273         for i, (z, col) in enumerate(zlist):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/art3d.pyc in do_3d_projection(self, renderer)
    227         xyslist = [
    228             proj3d.proj_trans_points(points, renderer.M) for points in
--> 229             self._segments3d]
    230         segments_2d = [list(zip(xs, ys)) for (xs, ys, zs) in xyslist]
    231         LineCollection.set_segments(self, segments_2d)

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_trans_points(points, M)
    214 def proj_trans_points(points, M):
    215     xs, ys, zs = list(zip(*points))
--> 216     return proj_transform(xs, ys, zs, M)
    217 
    218 def proj_trans_clip_points(points, M):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_transform(xs, ys, zs, M)
    197     """
    198     vec = vec_pad_ones(xs, ys, zs)
--> 199     return proj_transform_vec(vec, M)
    200 
    201 def proj_transform_clip(xs, ys, zs, M):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_transform_vec(vec, M)
    156 
    157 def proj_transform_vec(vec, M):
--> 158     vecw = np.dot(M, vec)
    159     w = vecw[3]
    160     # clip here..

TypeError: Cannot cast array data from dtype('float64') to dtype('S32') according to the rule 'safe'

TypeErrorTraceback (most recent call last)
/usr/local/lib/python2.7/dist-packages/IPython/core/formatters.pyc in __call__(self, obj)
    337                 pass
    338             else:
--> 339                 return printer(obj)
    340             # Finally look for special method names
    341             method = _safe_get_formatter_method(obj, self.print_method)

/usr/local/lib/python2.7/dist-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
    226 
    227     if 'png' in formats:
--> 228         png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs))
    229     if 'retina' in formats or 'png2x' in formats:
    230         png_formatter.for_type(Figure, lambda fig: retina_figure(fig, **kwargs))

/usr/local/lib/python2.7/dist-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt, bbox_inches, **kwargs)
    117 
    118     bytes_io = BytesIO()
--> 119     fig.canvas.print_figure(bytes_io, **kw)
    120     data = bytes_io.getvalue()
    121     if fmt == 'svg':

/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
   2178                     orientation=orientation,
   2179                     dryrun=True,
-> 2180                     **kwargs)
   2181                 renderer = self.figure._cachedRenderer
   2182                 bbox_inches = self.figure.get_tightbbox(renderer)

/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
    525 
    526     def print_png(self, filename_or_obj, *args, **kwargs):
--> 527         FigureCanvasAgg.draw(self)
    528         renderer = self.get_renderer()
    529         original_dpi = renderer.dpi

/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    472 
    473         try:
--> 474             self.figure.draw(self.renderer)
    475         finally:
    476             RendererAgg.lock.release()

/usr/local/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/local/lib/python2.7/dist-packages/matplotlib/figure.pyc in draw(self, renderer)
   1157         dsu.sort(key=itemgetter(0))
   1158         for zorder, a, func, args in dsu:
-> 1159             func(*args)
   1160 
   1161         renderer.close_group('figure')

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/axes3d.pyc in draw(self, renderer)
    269         # Calculate projection of collections and zorder them
    270         zlist = [(col.do_3d_projection(renderer), col) \
--> 271                  for col in self.collections]
    272         zlist.sort(key=itemgetter(0), reverse=True)
    273         for i, (z, col) in enumerate(zlist):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/art3d.pyc in do_3d_projection(self, renderer)
    227         xyslist = [
    228             proj3d.proj_trans_points(points, renderer.M) for points in
--> 229             self._segments3d]
    230         segments_2d = [list(zip(xs, ys)) for (xs, ys, zs) in xyslist]
    231         LineCollection.set_segments(self, segments_2d)

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_trans_points(points, M)
    214 def proj_trans_points(points, M):
    215     xs, ys, zs = list(zip(*points))
--> 216     return proj_transform(xs, ys, zs, M)
    217 
    218 def proj_trans_clip_points(points, M):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_transform(xs, ys, zs, M)
    197     """
    198     vec = vec_pad_ones(xs, ys, zs)
--> 199     return proj_transform_vec(vec, M)
    200 
    201 def proj_transform_clip(xs, ys, zs, M):

/usr/local/lib/python2.7/dist-packages/mpl_toolkits/mplot3d/proj3d.pyc in proj_transform_vec(vec, M)
    156 
    157 def proj_transform_vec(vec, M):
--> 158     vecw = np.dot(M, vec)
    159     w = vecw[3]
    160     # clip here..

TypeError: Cannot cast array data from dtype('float64') to dtype('S32') according to the rule 'safe'
<matplotlib.figure.Figure at 0x7f848efb2c50>