Save pdf with plot_surface

This may be known, but the following modified example from http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html fails with a TypeError at matplotlib/backends/backend_pdf.pyc in draw_path_collection. Is it possible to save pdf files with surface plots?

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator, FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax = fig.gca(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(X2 + Y2)

Z = np.sin®

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,

linewidth=0, antialiased=False)

ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))

ax.zaxis.set_major_formatter(FormatStrFormatter(’%.02f’))

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

fig.savefig(‘test.pdf’)

plt.show()

I was able to fix this by uninstalling the matplotlib from homebrew and installing with pip.

···

On Sat, Apr 20, 2013 at 9:33 AM, Derek Thomas <derekcthomas@…287…> wrote:

This may be known, but the following modified example from http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html fails with a TypeError at matplotlib/backends/backend_pdf.pyc in draw_path_collection. Is it possible to save pdf files with surface plots?

from mpl_toolkits.mplot3d import Axes3D

from matplotlib import cm

from matplotlib.ticker import LinearLocator, FormatStrFormatter

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax = fig.gca(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(X2 + Y2)

Z = np.sin(R)

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,

linewidth=0, antialiased=False)

ax.set_zlim(-1.01, 1.01)

ax.zaxis.set_major_locator(LinearLocator(10))

ax.zaxis.set_major_formatter(FormatStrFormatter(‘%.02f’))

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

fig.savefig(‘test.pdf’)

plt.show()

Just curious -- where is the formula for matplotlib in homebrew? I can't find it. I thought I would look into why that was failing -- it may just be simply that it's an old version of matplotlib and this bug is now fixed in the latest release.

Mike

···

On 04/20/2013 11:12 PM, Derek Thomas wrote:

I was able to fix this by uninstalling the matplotlib from homebrew and installing with pip.

On Sat, Apr 20, 2013 at 9:33 AM, Derek Thomas <derekcthomas@...287... > <mailto:derekcthomas@…287…>> wrote:

    This may be known, but the following modified example from
    http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html fails
    with a TypeError at matplotlib/backends/backend_pdf.pyc in
    draw_path_collection. Is it possible to save pdf files with
    surface plots?

    from mpl_toolkits.mplot3d import Axes3D
    from matplotlib import cm
    from matplotlib.ticker import LinearLocator, FormatStrFormatter
    import matplotlib.pyplot as plt
    import numpy as np

    fig = plt.figure()
    ax = fig.gca(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_zlim(-1.01, 1.01)

    ax.zaxis.set_major_locator(LinearLocator(10))
    ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

    fig.colorbar(surf, shrink=0.5, aspect=5)
    fig.savefig('test.pdf')
    plt.show()

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options