Re: [matplotlib-devel] Updating MPlot3D to a more recent matplotlib.

2009-03-03 Thread John Hunter
On Mon, Mar 2, 2009 at 10:13 PM, Jonathan Taylor <
jonathan.tay...@utoronto.ca> wrote:

> Hi,
>
> I saw that 3D plotting was dropped from matplotlib since the last time
> I used it.  Unfortunately, it is pretty necessary for some of the work
> I am doing.  Thus, I have started the process of refactoring the code
> to work with recent versions of matplotlib.
>
> Right now, it is still in very early stages and is quite flaky but I
> do have some functionality.  In particular, I am able to do a regular
> 3d plot, a wireframe plot and a scatter plot.  If this interests
> anyone I am making the code available via git.  Instructions are
> available on my website at:
>

That's great -- a number of people were very disappointed to see the
functionality removed, even though it was primitive compared to a good 3D
toolkit.  The problem was, we could never find a core developer who was
interested in taking it under his wing.  Once you get this to a satisfactory
point, I suggest you develop it as an mpl toolkit.  That way, it will get
installed with every mpl distro (the plain vanilla toolkits we ship, the
complex ones like basemap are distributed separately) but without the
implicit promise of full support until someone is willing to step up and
offer to fully support it.

JDH
--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Updating MPlot3D to a more recent matplotlib.

2009-03-03 Thread Jonathan Taylor
That sounds reasonable.  Can I ask what it is that was primitive?
Having looked through the code I see that a few shortcuts were made to
minimize the amount of code written that makes it especially
susceptible to changes in the 2D code.  That said, it seems like it
was comparable functionally to matlab's 3d plots, which is my goal for
it.

Best,
Jon.

P.S.  I saw your talk at NIPS 2008 this year.  I have used mpl for a
while now but that demo where you url.opened() yahoo finance and
plotted it with those nice dates in 2/3 lines was very nice. ;)

On Tue, Mar 3, 2009 at 9:14 AM, John Hunter  wrote:
>
>
> On Mon, Mar 2, 2009 at 10:13 PM, Jonathan Taylor
>  wrote:
>>
>> Hi,
>>
>> I saw that 3D plotting was dropped from matplotlib since the last time
>> I used it.  Unfortunately, it is pretty necessary for some of the work
>> I am doing.  Thus, I have started the process of refactoring the code
>> to work with recent versions of matplotlib.
>>
>> Right now, it is still in very early stages and is quite flaky but I
>> do have some functionality.  In particular, I am able to do a regular
>> 3d plot, a wireframe plot and a scatter plot.  If this interests
>> anyone I am making the code available via git.  Instructions are
>> available on my website at:
>
> That's great -- a number of people were very disappointed to see the
> functionality removed, even though it was primitive compared to a good 3D
> toolkit.  The problem was, we could never find a core developer who was
> interested in taking it under his wing.  Once you get this to a satisfactory
> point, I suggest you develop it as an mpl toolkit.  That way, it will get
> installed with every mpl distro (the plain vanilla toolkits we ship, the
> complex ones like basemap are distributed separately) but without the
> implicit promise of full support until someone is willing to step up and
> offer to fully support it.
>
> JDH
>
>

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Updating MPlot3D to a more recent matplotlib.

2009-03-03 Thread John Hunter
On Tue, Mar 3, 2009 at 9:56 AM, Jonathan Taylor  wrote:

> That sounds reasonable.  Can I ask what it is that was primitive?
> Having looked through the code I see that a few shortcuts were made to
> minimize the amount of code written that makes it especially
> susceptible to changes in the 2D code.  That said, it seems like it
> was comparable functionally to matlab's 3d plots, which is my goal for
> it.
>

Well, it is painfully slow, since it does everything in software, and there
are some corner cases where the zorder clipping is broken in the presence of
alpha transparency, and it doesn't do lighting, shadows, etc  But it
does do enough for basic stuff, so we would be happy if you could resurrect
it cleanly enough for a toolkit.


>
> P.S.  I saw your talk at NIPS 2008 this year.  I have used mpl for a
> while now but that demo where you url.opened() yahoo finance and
> plotted it with those nice dates in 2/3 lines was very nice. ;)



Yep, that is a favorite example of mine :-)  I'm giving a talk at SIAM on
Thursday, and I think I'll do this one again, time permitting.

JDH
--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] File format for plots

2009-03-03 Thread Ryan May
On Mon, Mar 2, 2009 at 3:52 PM, Gael Varoquaux <
gael.varoqu...@normalesup.org> wrote:

> On Mon, Mar 02, 2009 at 01:49:38PM -0600, Ryan May wrote:
> >Other than the automatic regeneration from latex, what you want sounds
> >like what we already have: small python scripts.
>
> >In general, I'm completely amazed by how many people want to develop a
> new
> >markup/script language to wrap what is already a simple and expressive
> >language, both for plots and (at least around here) analyses.  If
> there
> >are some spots that require too many lines of code to accomplish
> something
> >really simple, then maybe we need to API additions. But in general, I
> >think we have a format for specifying how to make a plot: python.
>
> Although I agree with you that reinventing an extra scripting layer is
> often a bad solution to a problem which should simply be solved by having
> a good scripting API in Python, I believe there is here a fundamental
> misconception.
>
> Python is an imperative, Turing-complete. This is a very good thing for a
> scripting language. For making a description of a static object as a
> plot, this is not a good thing. For instance, if I want to make a plot,
> save it, and later blow up all the fonts, I really don't want to be using
> an imperative, Turing-complete language for the persistence model, as
> static analysis of this persisted object is going to be next to
> impossible. Same thing if I want to change colormaps, or just about
> anything in my persisted object, for the same reason.
>
> A good rule for most software design is that the state of the
> application, or of the object of interest, in our case the plot, should
> be fully represented by a fully-static set of values, that I like to call
> the model. Although this sounds like a tautology, this design rule is
> more often broken than followed. For instance the status of an
> application may be entirely dependent on its past, or the important state
> variables may be hidden in places where you can't get hold of them (eg
> the status of a GUI widget, or inside a generator).
>
> Having a very clean separation between your (fully-static) model, and the
> logics around is a very important part of good application design, and I
> believe I know this because I have so often made an error and violated
> this rule :).
>
> If you have this static model, rather than an imperative language, then
> you can have persistence. By the way, Mayavi2 achieves its code
> generation by introspection on the model. The generated lines of code are
> just a way of expressing the changes.
>
> Sorry for being fussy, I am just trying to pass on what I believe I am
> learning painfully :).
>

Not at all.  You made some good points.  I hadn't really thought about the
prospect of things changing in the core of the rest of the code.  It was
probably just a knee jerk reaction to something I hear a lot around here,
regarding making a small language/configuration file for automating analyses
*in python*. :)

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
Sent from: Norman Oklahoma United States.
--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] File format for plots

2009-03-03 Thread John Hunter
On Sun, Mar 1, 2009 at 2:02 PM, Eric Firing  wrote:

>
> > Would i be right in assuming that it would take roughly the same amount
> of effort as writing a new backend? ie for each motplotlib action it would
> need a function to store that action and a function to call that action
> again.
>
> It is much more than that; it would take a backend to write out the new
> format, and an interpreter to turn that format back into mpl objects or
> API calls.



I don't think this approach would be viable, because the backend doesn't
know the progeny of the object (eg a tick line).  I think to have a proper
serialized format, you would want to do it at the artist layer.

JDH
--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] File format for plots

2009-03-03 Thread Eric Bruning
> One of the mpl backends is svg; can you use something like Inkscape to
> make the plot adjustments you are talking about?
>
> Eric [F]

I'll second this recommendation - indeed, it's my default workflow
(except that I use Illustrator). By definition, vector image formats
contain all the data needed to (re)make the plot. Everything can be
rescaled, line weights changed, colors modified, etc.

-Eric B

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Updating MPlot3D to a more recent matplotlib.

2009-03-03 Thread Rob Clewley
On Tue, Mar 3, 2009 at 11:39 AM, John Hunter  wrote:

> Well, it is painfully slow, since it does everything in software, and there
> are some corner cases where the zorder clipping is broken in the presence of
> alpha transparency, and it doesn't do lighting, shadows, etc  But it
> does do enough for basic stuff, so we would be happy if you could resurrect
> it cleanly enough for a toolkit.
>

I'd just like to add that having a *bare minimum* 3D capability in mpl
is extremely useful to me -- i.e. being to visualize 3D data as a
point cloud or a wireframe mesh. While teaching with python and doing
numerical experiments in my research it's invaluable to be able to
throw together a wholly non-publication quality 3D plot to get a quick
idea of what's going on. I would imagine that others who use mpl
professionally (and not necessarily only for public consumption) would
agree on the value of maintaining this bare minimum even if there is
no short- or medium-term expectation that it will develop into
anything more sophisticated.

Cheers,
Rob

--
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel