SourceForge logo
SourceForge logo
Menu

Re: [matplotlib-devel] update x axis of a subplot according to the y axis of another one in python/matplotlib

Sharing the same axis across subplots is implemented via matplotlib's
interactive framework, and is available by default. Glue is built on top of
matplotlib, extending its interactive framework with many additional tools.
Yes, it might be overkill for this singular task, but implementing
orthogonal axis sharing isn't trivial, either, so suggesting a pre-packaged
solution is merely pragmatic.
Essentially, one would have to register callbacks for changes in each of
the parent subplot's axis. This, in of itself, isn't really all that
difficult once one learns the event framework. I think what might be very
tricky is doing it for the 3d axes. As the de facto maintainer of mplot3d,
I have never really tested axis sharing for mplot3d. I suspect that it
would work exactly as you'd expect for the x and y axes, but the z axis may
prove to be quirky. I don't know, I haven't ever tried it out. In general,
the z-axis implementation is a bit of a kludge, so things tend to be
different for it...
Here is an example of how to register callbacks to changes in a particular
axis. Hopefully, it can give you a nice leg up on the problem. Let me know
if you have problems with the z-axis, I might be able to help sort it out.
If you can get this to work, I would certainly love to include it in the
gallery.
http://matplotlib.org/examples/event_handling/viewlims.html
Cheers!
Ben Root
On Thu, Feb 12, 2015 at 4:32 AM, Alessandro Pietro Bardelli <
ale...@he...> wrote:
> Thanks for the answer.
> Glue seems a quite cool project but it is also a bit overkill for this
> specific task, isn't it?
> Basically I just would like tell sharex to point the Yaxis of the axes
> object.
> Isn't there a way to do this within matplotlib?
> thanks
>
> Alessandro
>
> On 11/02/2015 16:41, Benjamin Root wrote:
>
> Sounds to me like you want to use glue: http://www.glueviz.org/en/stable/
>
>
> On Wed, Feb 11, 2015 at 3:15 AM, Alessandro Pietro Bardelli <
> ale...@he...> wrote:
>
>> I would like to plot an orthogonal projection (like this one
>> http://i.stack.imgur.com/DnNds.jpg) using matplotlib possibly including
>> also the 3D subplot. All the pictures should share common axes.
>>
>> fig = plt.figure()
>> ax = fig.add_subplot(221, title="XZ")
>> bx = fig.add_subplot(222, title="YZ", sharey=ax)
>> cx = fig.add_subplot(223, title="XY", sharex=ax, sharey=[something like bx.Xaxis])
>> dx = fig.add_subplot(224, title="XYZ", projection="3d", sharex=ax, sharey=bx, sharez=[something like bx.Yaxis]
>>
>> The problem is that I have to "link" on X axis of a plot with the Y one
>> of another and
>> Is there a way to accomplish this?
>>
>> Thanks
>>
>> Alessandro
>>
>> p.s. i have posted this question also on StackOverflow:
>> http://stackoverflow.com/questions/28239054/update-x-axis-of-a-subplot-according-to-the-y-axis-of-another-one-in-python-matp
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming. The Go Parallel Website,
>> sponsored by Intel and developed in partnership with Slashdot Media, is
>> your
>> hub for all things parallel software development, from weekly thought
>> leadership blogs to news, videos, case studies, tutorials and more. Take a
>> look and join the conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Matplotlib-devel mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>>
>>
>
> --
>
> ----------------------------------
> Alessandro Pietro Bardelli
>
> HENESIS s.r.l.
> P.IVA (VAT. N.) IT02280660354
> Viale dei Mille, 108
> 43125 PARMA (IT)
>
> Email: ale...@he...
>
> Tel: (+39)05211854211
> Fax: (+39)05211854515
> SkypeID: henesis_srl
> Web: www.henesis.eu
> ----------------------------------
>

View entire thread

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 によって変換されたページ (->オリジナル) /