Dear all What I want to accomplish was produced two years ago in a stackoverflow snippet by Joe Kington <http://stackoverflow.com/questions/7733693/matplotlib-overlay-plots-with-different-scales> , and shown in the first figure below. However, when I use his snippet in matplotlib 1.3.x, I get an output where the third axis replaces the second axis, and the blue dots are accordingly distributed in only the lower half of the plot (see second figure below). I considered downdating to an older version of matplotlib, but then I came across a remark in the matplotlib FAQ <http://matplotlib.org/faq/howto_faq.html#multiple-y-axis-scales> . According to this remark, such a feature for twinx is on the wish list and thus not very likely to be available in an older version. Can someone please explain the Kington magic to me? <http://matplotlib.1069221.n5.nabble.com/file/n42556/ksRXk.png> <http://matplotlib.1069221.n5.nabble.com/file/n42556/figure_1.png> -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Plotting-with-more-than-two-y-axes-with-twinx-tp42556.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Hi Daniel, For what it's worth, the code runs perfectly for me as-is on matplotlib 1.3.1 with python 2.7 on linux. However, based on your description, I'd guess that the second call to `twinx` is returning the same axes object. What happens when you do: print id(axes[1]), id(axes[2]) Are the id numbers the same or different? If they're the same, there may have been a regression/change that causes `twinx` to return the same object instead of creating a new axes. Cheers! -Joe On Wed, Nov 27, 2013 at 5:08 PM, dodermat <dan...@gm...> wrote: > Dear all > > What I want to accomplish was produced two years ago in a stackoverflow > snippet by Joe Kington > < > http://stackoverflow.com/questions/7733693/matplotlib-overlay-plots-with-different-scales > > > , and shown in the first figure below. However, when I use his snippet in > matplotlib 1.3.x, I get an output where the third axis replaces the second > axis, and the blue dots are accordingly distributed in only the lower half > of the plot (see second figure below). I considered downdating to an older > version of matplotlib, but then I came across a remark in the matplotlib > FAQ <http://matplotlib.org/faq/howto_faq.html#multiple-y-axis-scales> . > According to this remark, such a feature for twinx is on the wish list and > thus not very likely to be available in an older version. > > Can someone please explain the Kington magic to me? > > > <http://matplotlib.1069221.n5.nabble.com/file/n42556/ksRXk.png> > <http://matplotlib.1069221.n5.nabble.com/file/n42556/figure_1.png> > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Plotting-with-more-than-two-y-axes-with-twinx-tp42556.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics > Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Joe's guess was right, I got identical IDs for all twinx(). I had OSX10.9, matplotlib 1.3.x and tried both Python 2.7 and 3.3. A friend of mine has Win7, matplotlib 1.2.0 and Pyhton 3.3, and also encountered the problem I described. Even the comments by Damian and Lunayo on Joe's snippet in Stackoverflow indicate that they had the same issue. I renewed all my package installations in order to get matplotlib 1.3.1 and have an environment that is similar to Dale's. Now I get the proper output with both Python 2.7 and 3.3. Problem solved - yet not understood... Thank you for your help! -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Plotting-with-more-than-two-y-axes-with-twinx-tp42556p42560.html Sent from the matplotlib - users mailing list archive at Nabble.com.
On Nov 27, 2013, at 18:38 , Joe Kington <jof...@gm...> wrote: > Hi Daniel, > > For what it's worth, the code runs perfectly for me as-is on matplotlib 1.3.1 with python 2.7 on linux. Same here for what its' worth: OS X 10.9 python2.7 from Fink matplotlib-py27 1.3.0-1 from Fink -Dale > > However, based on your description, I'd guess that the second call to `twinx` is returning the same axes object. > > What happens when you do: > > print id(axes[1]), id(axes[2]) > > Are the id numbers the same or different? > > If they're the same, there may have been a regression/change that causes `twinx` to return the same object instead of creating a new axes. > > Cheers! > -Joe > > > > On Wed, Nov 27, 2013 at 5:08 PM, dodermat <dan...@gm...> wrote: > Dear all > > What I want to accomplish was produced two years ago in a stackoverflow > snippet by Joe Kington > <http://stackoverflow.com/questions/7733693/matplotlib-overlay-plots-with-different-scales> > , and shown in the first figure below. However, when I use his snippet in > matplotlib 1.3.x, I get an output where the third axis replaces the second > axis, and the blue dots are accordingly distributed in only the lower half > of the plot (see second figure below). I considered downdating to an older > version of matplotlib, but then I came across a remark in the matplotlib > FAQ <http://matplotlib.org/faq/howto_faq.html#multiple-y-axis-scales> . > According to this remark, such a feature for twinx is on the wish list and > thus not very likely to be available in an older version. > > Can someone please explain the Kington magic to me? > > > <http://matplotlib.1069221.n5.nabble.com/file/n42556/ksRXk.png> > <http://matplotlib.1069221.n5.nabble.com/file/n42556/figure_1.png> > > > > -- > View this message in context: http://matplotlib.1069221.n5.nabble.com/Plotting-with-more-than-two-y-axes-with-twinx-tp42556.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Hi Dani, A quick thought. You could do an interactive multiple axes graph with Plotly, either with the Python API <http://plot.ly/api/python> or from the GUI. Here's an example of how to re-make that one with Plotly and IPython. The Notebook is here <http://nbviewer.ipython.org/gist/cparmer/7685051> (and a Notebook here <http://nbviewer.ipython.org/gist/cparmer/7628933> demos multiple axes, subplots, and insets). [image: Inline image 1] Let me know if I can help with anything. Also, disclosure: I'm on the Plotly team. All my best, Matt On Wed, Nov 27, 2013 at 4:44 PM, Dale Chayes <da...@ld...> wrote: > > On Nov 27, 2013, at 18:38 , Joe Kington <jof...@gm...> wrote: > > > Hi Daniel, > > > > For what it's worth, the code runs perfectly for me as-is on matplotlib > 1.3.1 with python 2.7 on linux. > > Same here for what its' worth: > OS X 10.9 > python2.7 from Fink > matplotlib-py27 1.3.0-1 from Fink > > -Dale > > > > > However, based on your description, I'd guess that the second call to > `twinx` is returning the same axes object. > > > > What happens when you do: > > > > print id(axes[1]), id(axes[2]) > > > > Are the id numbers the same or different? > > > > If they're the same, there may have been a regression/change that causes > `twinx` to return the same object instead of creating a new axes. > > > > Cheers! > > -Joe > > > > > > > > On Wed, Nov 27, 2013 at 5:08 PM, dodermat <dan...@gm...> > wrote: > > Dear all > > > > What I want to accomplish was produced two years ago in a stackoverflow > > snippet by Joe Kington > > < > http://stackoverflow.com/questions/7733693/matplotlib-overlay-plots-with-different-scales > > > > , and shown in the first figure below. However, when I use his snippet in > > matplotlib 1.3.x, I get an output where the third axis replaces the > second > > axis, and the blue dots are accordingly distributed in only the lower > half > > of the plot (see second figure below). I considered downdating to an > older > > version of matplotlib, but then I came across a remark in the matplotlib > > FAQ <http://matplotlib.org/faq/howto_faq.html#multiple-y-axis-scales> . > > According to this remark, such a feature for twinx is on the wish list > and > > thus not very likely to be available in an older version. > > > > Can someone please explain the Kington magic to me? > > > > > > <http://matplotlib.1069221.n5.nabble.com/file/n42556/ksRXk.png> > > <http://matplotlib.1069221.n5.nabble.com/file/n42556/figure_1.png> > > > > > > > > -- > > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Plotting-with-more-than-two-y-axes-with-twinx-tp42556.html > > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > > > ------------------------------------------------------------------------------ > > Rapidly troubleshoot problems before they affect your business. Most IT > > organizations don't have a clear picture of how application performance > > affects their revenue. With AppDynamics, you get 100% visibility into > your > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of > AppDynamics Pro! > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > ------------------------------------------------------------------------------ > > Rapidly troubleshoot problems before they affect your business. Most IT > > organizations don't have a clear picture of how application performance > > affects their revenue. With AppDynamics, you get 100% visibility into > your > > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of > AppDynamics Pro! > > > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk_______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics > Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >