mplot3d update

Hi John,

Hi all,

I just updated mplot3d with some refactoring, more examples and the
start of documentation. Also semi-3D text is available again.

Great -- I made a minor change to special case atan2 with inputs 0,0,
which raises an error on my solaris box. I took a look at the
documentation commit -- I see the reference

See :ref:`toolkit_mplot3d-index` for more documentation and examples.

in docs/users/toolkits.rst, but there is nothing in doc/mpl_toolkits.
Did you forget to svn add the file?

Oops, they are there now.

One other feature request that I think you could add w/o too much
difficulty is colormapping on the surface plots (eg inherit from
cm.ScalaraMappable. I did this in a local branch of the old axes3d
code which I might be able to dig up, but I think it should be pretty
forward to implement de novo.

I've been thinking about this too. It would be great if you could dig
this up as an example! (I haven't looked at ScalarMappable yet, so it
might indeed be relatively straightforward). I was also thinking about
a sort-of pcolor3d or voxel generation although I'm not sure how to
best implement it. But maybe allowing the surface plots to be colored
is enough.

Regards,
Reinier

···

On Mon, Jun 8, 2009 at 2:58 PM, John Hunter<jdh2358@...149...> wrote:

On Sun, Jun 7, 2009 at 6:27 PM, Reinier Heeres<reinier@...707...> wrote:

Please let me know what you think, perhaps mostly about the
user-facing API. It would be good to get that 'right' so that we don't
have to change it in the future.

You may want to take a look at what other popular toolkits do:
gnuplot, matlab, vtk. These are time worn implementations so we could
benefit from seeing what they've done for the interface.

JDH

--
Reinier Heeres
Bleijenburg 64
2511 VD Den Haag
The Netherlands

Tel: +31 6 10852639

Hi John,

Hi all,

I just updated mplot3d with some refactoring, more examples and the
start of documentation. Also semi-3D text is available again.

Great -- I made a minor change to special case atan2 with inputs 0,0,
which raises an error on my solaris box. I took a look at the
documentation commit -- I see the reference

See :ref:`toolkit_mplot3d-index` for more documentation and examples.

in docs/users/toolkits.rst, but there is nothing in doc/mpl_toolkits.
Did you forget to svn add the file?

Oops, they are there now.

The exclude-members tag is causing problems for my build
(.Sphinx-0.6dev_20090302-py2.5.egg) I don't know if the usage is too
new for my sphinx version but this line

./mpl_toolkits/mplot3d/api.rst: :exclude-members: contour3D,
contourf3D, plot3D, scatter3D

is causing the following error listed below. For now I am just
removing the exclude-members line.

  http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/index.html#toolkit-mplot3d-index

w/ the exclude-members tag I am getting::

Traceback (most recent call last):
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/cmdline.py",
line 172, in main
    app.build(all_files, filenames)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/application.py",
line 129, in build
    self.builder.build_update()
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/builders/__init__.py",
line 238, in build_update
    'out of date' % len(to_build))
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/builders/__init__.py",
line 259, in build
    purple):
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/builders/__init__.py",
line 114, in status_iterator
    for item in iterable:
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/environment.py",
line 510, in update
    self.read_doc(docname, app=app)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/environment.py",
line 599, in read_doc
    pub.publish()
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/core.py",
line 203, in publish
    self.settings)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/readers/__init__.py",
line 69, in read
    self.parse()
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/readers/__init__.py",
line 75, in parse
    self.parser.parse(self.input, document)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/__init__.py",
line 157, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 170, in run
    input_source=document['source'])
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 232, in run
    context, state, transitions)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 420, in check_line
    return method(match, context, next_state)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 2888, in text
    self.section(title.lstrip(), source, style, lineno + 1, messages)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 308, in section
    self.new_subsection(title, lineno, messages)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 376, in new_subsection
    node=section_node, match_titles=1)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 266, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 232, in run
    context, state, transitions)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 420, in check_line
    return method(match, context, next_state)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 2663, in underline
    self.section(title, source, style, lineno - 1, messages)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 308, in section
    self.new_subsection(title, lineno, messages)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 376, in new_subsection
    node=section_node, match_titles=1)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 266, in nested_parse
    node=node, match_titles=match_titles)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 232, in run
    context, state, transitions)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/statemachine.py",
line 420, in check_line
    return method(match, context, next_state)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 2243, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 2255, in explicit_construct
    return method(self, expmatch)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 1998, in directive
    directive_class, match, type_name, option_presets)
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/parsers/rst/states.py",
line 2047, in run_directive
    result = directive_instance.run()
  File "/home/jdhunter/dev/lib/python2.5/site-packages/Sphinx-0.6dev_20090302-py2.5.egg/sphinx/ext/autodoc.py",
line 1047, in run
    self.options.items(), doc_class.option_spec))
  File "/home/jdhunter/dev/lib/python2.5/site-packages/docutils/utils.py",
line 306, in assemble_option_dict
    convertor = options_spec[name] # raises KeyError if unknown
KeyError: 'exclude-members'

/home/jdhunter/dev/lib/python2.5/site-packages/docutils/utils.py(306)assemble_option_dict()

-> convertor = options_spec[name] # raises KeyError if unknown

···

On Mon, Jun 8, 2009 at 11:33 AM, Reinier Heeres<reinier@...707...> wrote:

On Mon, Jun 8, 2009 at 2:58 PM, John Hunter<jdh2358@...149...> wrote:

On Sun, Jun 7, 2009 at 6:27 PM, Reinier Heeres<reinier@...707...> wrote: