SourceForge logo
SourceForge logo
Menu

matplotlib-users

From: Fabrice S. <si...@lm...> - 2009年06月29日 09:50:57
Hello everybody,
I wonder whether it is possible to produce something like the zooming
plot example from http://code.enthought.com/projects/chaco/gallery.php
using only matplotlib. I've done some tests, I think transforms may be
helpful but I do not know ho to use them...
From: Fabrice S. <si...@lm...> - 2009年06月29日 13:27:35
Le lundi 29 juin 2009 à 07:51 -0400, Pierre GM a écrit :
> Check the plotting routines in scikits.timeseries 
> (pytseries.sourceforge.net), there's some zooming functions that could 
> get you started.
Thanks to point to this scikit, but I looked into the lib.plotlib
module, and I didn't manage to find something looking like the 'zoom
effect' Chaco provides...
I merely wanted to add a Polygon patch between the upper and the lower
subplots, but using data coordinates from these axes.
-- 
Fabrice Silva <si...@lm...>
LMA UPR CNRS 7051
From: Gökhan S. <gok...@gm...> - 2009年06月29日 17:12:26
On Mon, Jun 29, 2009 at 7:39 AM, Fabrice Silva<si...@lm...> wrote:
> Le lundi 29 juin 2009 à 07:51 -0400, Pierre GM a écrit :
>> Check the plotting routines in scikits.timeseries
>> (pytseries.sourceforge.net), there's some zooming functions that could
>> get you started.
>
> Thanks to point to this scikit, but I looked into the lib.plotlib
> module, and I didn't manage to find something looking like the 'zoom
> effect' Chaco provides...
>
> I merely wanted to add a Polygon patch between the upper and the lower
> subplots, but using data coordinates from these axes.
> --
I have been wondering the same issue whether Chaco's nice zoom plot
could be made possible in Matplotlib. I don't have an answer for this
yet. If you come up with one, please let me know.
In the mean time, you can take a look at: http://www.simile-widgets.org/
They have some interesting and eye-catching time-series plots for
web-demonstrations.
Gökhan
From: Ryan M. <rm...@gm...> - 2009年06月29日 17:24:42
On Mon, Jun 29, 2009 at 12:12 PM, Gökhan SEVER <gok...@gm...>wrote:
> On Mon, Jun 29, 2009 at 7:39 AM, Fabrice Silva<si...@lm...>
> wrote:
> > Le lundi 29 juin 2009 à 07:51 -0400, Pierre GM a écrit :
> >> Check the plotting routines in scikits.timeseries
> >> (pytseries.sourceforge.net), there's some zooming functions that could
> >> get you started.
> >
> > Thanks to point to this scikit, but I looked into the lib.plotlib
> > module, and I didn't manage to find something looking like the 'zoom
> > effect' Chaco provides...
> >
> > I merely wanted to add a Polygon patch between the upper and the lower
> > subplots, but using data coordinates from these axes.
> > --
>
> I have been wondering the same issue whether Chaco's nice zoom plot
> could be made possible in Matplotlib. I don't have an answer for this
> yet. If you come up with one, please let me know.
Have you looked at the examples/widgets/span_selector.py demo?
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
From: Fabrice S. <si...@lm...> - 2009年06月29日 17:19:55
Le lundi 29 juin 2009 à 14:39 +0200, Fabrice Silva a écrit :
> I merely wanted to add a Polygon patch between the upper and the lower
> subplots, but using data coordinates from these axes.
One more precision : my intent is to draw a figure 'statically', I do
not need event handling, ie handling manual zoom through an interactive
backend. The figure is generated from a script and directly saved
without human interaction.
-- 
Fabrice Silva <si...@lm...>
LMA UPR CNRS 7051
From: Jae-Joon L. <lee...@gm...> - 2009年06月29日 20:11:42
I think the issue here is to connect points in two different axes,
which is possible but can be a bit difficult.
In the svn version of matplotlib, there are some helper classes to
ease this job a bit.
I'm attaching the example.
I think you can also run the example with 0.98.5.3. Just download
inset_locator.py and modify your import statement.
http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/lib/mpl_toolkits/axes_grid/inset_locator.py?revision=7084&view=markup
Regards,
-JJ
On Mon, Jun 29, 2009 at 1:22 PM, Fabrice Silva<si...@lm...> wrote:
> Le lundi 29 juin 2009 à 14:39 +0200, Fabrice Silva a écrit :
>> I merely wanted to add a Polygon patch between the upper and the lower
>> subplots, but using data coordinates from these axes.
>
> One more precision : my intent is to draw a figure 'statically', I do
> not need event handling, ie handling manual zoom through an interactive
> backend. The figure is generated from a script and directly saved
> without human interaction.
> --
> Fabrice Silva <si...@lm...>
> LMA UPR CNRS 7051
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Fabrice S. <si...@lm...> - 2009年06月30日 12:10:01
Le lundi 29 juin 2009 à 16:11 -0400, Jae-Joon Lee a écrit :
> I think the issue here is to connect points in two different axes,
> which is possible but can be a bit difficult.
That was my problem
> In the svn version of matplotlib, there are some helper classes to
> ease this job a bit.
Thanks for your pointer. Sadly the mpl.toolkits.axes_grid is not shipped
by debian package, and downloading it requires other stuff. So I adapted
from the inset_locator.py the attached file.
Finally I can "zoom" with the mere script :
 import matplotlib.pyplot as plt
 from mpl_axes_grid_inset_locator import zoom_effect
 S1 = plt.subplot(211)
 S1.plot(... # xlim (0.,1.2)
 S2 = plt.subplot(223)
 S2.plot(... # xlim (0.0095,.012)
 S3 = plt.subplot(224)
 S3.plot(... # xlim (0.84,1.)
 # Labels stuff
 # [...]
 
 patch_props=dict(ec="r", alpha=0.5, fc="r")
 zoom_effect(S1,S2, 0.01, 0.011, **patch_props)
 zoom_effect(S1,S3, 0.90, 0.95, **patch_props)
It produces two zoom subplots with the wanted patch.
From: Jae-Joon L. <lee...@gm...> - 2009年06月30日 17:21:48
Hi Fabrice,
Good to hear that you were able to get it work.
Here is some tweak on transforms.
This way, the plot is shown correctly even if you change the y-limits of axes.
 trans0 = blended_transform_factory(ax0.transData, ax0.transAxes)
 trans1 = blended_transform_factory(ax1.transData, ax1.transAxes)
 bbox = Bbox.from_extents(xmin, 0, xmax, 1)
 mybbox1 = TransformedBbox(bbox, trans0)
 mybbox2 = TransformedBbox(bbox, trans1)
I think the code is worth to be included as an mpl example.
I'll push this into the svn if you don't mind.
Regards,
-JJ
On Tue, Jun 30, 2009 at 8:12 AM, Fabrice Silva<si...@lm...> wrote:
> Le lundi 29 juin 2009 à 16:11 -0400, Jae-Joon Lee a écrit :
>> I think the issue here is to connect points in two different axes,
>> which is possible but can be a bit difficult.
> That was my problem
>
>> In the svn version of matplotlib, there are some helper classes to
>> ease this job a bit.
> Thanks for your pointer. Sadly the mpl.toolkits.axes_grid is not shipped
> by debian package, and downloading it requires other stuff. So I adapted
> from the inset_locator.py the attached file.
>
> Finally I can "zoom" with the mere script :
>    import matplotlib.pyplot as plt
>    from mpl_axes_grid_inset_locator import zoom_effect
>    S1 = plt.subplot(211)
>    S1.plot(... # xlim (0.,1.2)
>    S2 = plt.subplot(223)
>    S2.plot(... # xlim (0.0095,.012)
>    S3 = plt.subplot(224)
>    S3.plot(... # xlim (0.84,1.)
>    # Labels stuff
>    # [...]
>
>    patch_props=dict(ec="r", alpha=0.5, fc="r")
>    zoom_effect(S1,S2, 0.01, 0.011, **patch_props)
>    zoom_effect(S1,S3, 0.90, 0.95, **patch_props)
>
> It produces two zoom subplots with the wanted patch.
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Fabrice S. <si...@lm...> - 2009年07月04日 11:49:37
Le mardi 30 juin 2009 à 13:21 -0400, Jae-Joon Lee a écrit :
> Hi Fabrice,
> 
> Good to hear that you were able to get it work.
> Here is some tweak on transforms.
> This way, the plot is shown correctly even if you change the y-limits of axes.
> 
> trans0 = blended_transform_factory(ax0.transData, ax0.transAxes)
> trans1 = blended_transform_factory(ax1.transData, ax1.transAxes)
> 
> bbox = Bbox.from_extents(xmin, 0, xmax, 1)
> 
> mybbox1 = TransformedBbox(bbox, trans0)
> mybbox2 = TransformedBbox(bbox, trans1)
Thanks for these suggestions, I'll try on monday.
> I think the code is worth to be included as an mpl example.
> I'll push this into the svn if you don't mind.
Great ! I assume a BSD license...
-- 
Fabrice Silva <si...@lm...>
LMA UPR CNRS 7051 - équipe S2M
From: Sandro T. <mo...@de...> - 2009年07月01日 08:13:31
On Tue, Jun 30, 2009 at 14:12, Fabrice Silva<si...@lm...> wrote:
> Le lundi 29 juin 2009 à 16:11 -0400, Jae-Joon Lee a écrit :
>> In the svn version of matplotlib, there are some helper classes to
>> ease this job a bit.
> Thanks for your pointer. Sadly the mpl.toolkits.axes_grid is not shipped
> by debian package, and downloading it requires other stuff. So I adapted
I'm the debian maintainer for matplotlib: if you need something
missing in Debian, get in touch with us, for example reporting a bug
against matplotlib requesting this toolkit.
I didn't check further, but probably it was not release because of
this phrase: "In the svn version of matplotlib".
Regards,
-- 
Sandro Tosi (aka morph, morpheus, matrixhasu)
My website: http://matrixhasu.altervista.org/
Me at Debian: http://wiki.debian.org/SandroTosi
From: Fabrice S. <si...@lm...> - 2009年07月02日 04:14:13
Le mercredi 01 juillet 2009 à 10:13 +0200, Sandro Tosi a écrit :
> On Tue, Jun 30, 2009 at 14:12, Fabrice Silva<si...@lm...> wrote:
> > Le lundi 29 juin 2009 à 16:11 -0400, Jae-Joon Lee a écrit :
> >> In the svn version of matplotlib, there are some helper classes to
> >> ease this job a bit.
> > Thanks for your pointer. Sadly the mpl.toolkits.axes_grid is not shipped
> > by debian package, and downloading it requires other stuff. So I adapted
> 
> I'm the debian maintainer for matplotlib: if you need something
> missing in Debian, get in touch with us, for example reporting a bug
> against matplotlib requesting this toolkit.
> 
> I didn't check further, but probably it was not release because of
> this phrase: "In the svn version of matplotlib".
Hi Sandro,
thanks for packaging matplotlib for debian. I hope you did not
understand my words as a blame. In fact mpl_toolkits.axes_grid is still
in svn only and not in 0.98.x
I tried to download the mpl.toolkits.axes_grid module files, but I had
errors raising when importing that...
-- 
Fabrice Silva <si...@lm...>
LMA UPR CNRS 7051
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /