You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
1
(27) |
2
(15) |
3
(2) |
4
(4) |
5
(5) |
6
(9) |
7
(15) |
8
(24) |
9
(19) |
10
(7) |
11
(13) |
12
(26) |
13
(27) |
14
(17) |
15
(14) |
16
(12) |
17
(9) |
18
(12) |
19
(17) |
20
(19) |
21
(5) |
22
(5) |
23
(7) |
24
(4) |
25
(1) |
26
(9) |
27
(20) |
28
(5) |
29
(10) |
30
(12) |
31
(6) |
Turns out this is what I was looking for ! http://matplotlib.sourceforge.net/examples/pylab_examples/subplots_demo.html#pylab-examples-subplots-demo f, axarr = plt.subplots(2, 2) axarr[0,0].plot(x, y) axarr[0,0].set_title('Axis [0,0]') axarr[0,1].scatter(x, y) axarr[0,1].set_title('Axis [0,1]') axarr[1,0].plot(x, y**2) axarr[1,0].set_title('Axis [1,0]') axarr[1,1].scatter(x, y**2) axarr[1,1].set_title('Axis [1,1]') -- Emmanuel ________________________________ From: Emmanuel Mayssat <ema...@ya...> To: matplotlib <mat...@li...> Cc: "mat...@li..." <mat...@li...> Sent: Thursday, March 29, 2012 9:57 AM Subject: [Matplotlib-users] Plot object Hello, I am programming using POO (object programming) I cannot find a way to create a plot as an object In concept, I would like to do something like """ from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure self.figure = Figure(figsize=(600,600), dpi=72, facecolor=(1,1,1), edgecolor=(0,0,0)) self.figureCanvas = FigureCanvas(self.figure) for i in range(2): plots.append(create_axis()) <-- create plot object in a list self.plots[1].xlabel = 'X1' self.plots[2].xlabel = 'X2' for plot in self.plots: self.figure.add_plots(plot) self.figure.show() self.plots[1].xlabel = 'XX1' self.figure.updateDisplay() """ Is it possible? If so, how? ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Paul, That fixes my problem perfectly. Thanks for the solution! Best, Brad On Thu, Mar 29, 2012 at 1:59 PM, Paul Hobson <pmh...@gm...> wrote: > Brad, > > Matplotlib axes objects have set_xticklabels methods. It's brute > force, but this will work: > ax = gca() > ax.set_xticks([0., 0.015, 0.03]) > ax.set_xticklabels(['0', '0.015', '0.03']) > > Hope that helps, > -paul > > > On Thu, Mar 29, 2012 at 1:13 PM, Brad Malone <bra...@gm...> > wrote: > > Hello, > > > > I am working on a plot in which I need to modify the value of the > xticks. A > > snippet of my code is attached below: > > > >> fig=figure() > >> > >> gs=matplotlib.gridspec.GridSpec(1,2,width_ratios=[3,1]) > >> gs.update(wspace=0.1) > >> ax=subplot(gs[0]) > >> ylabel('Frequency (cm'+r'$^{-1}$'+')') > >> for i in range(0,len(ydata)): > >> plot(xdata[i],ydata[i],'r-',linewidth=1.5) > >> plot(xdata[0],[0.0]*len(xdata[0]),'k:') > >> > >> > pos=[0,49.9856985699,99.9713971397,170.661849982,212.979781775,283.67023461\ > >> 7,333.655933187,375.97386498] > >> > >> > locs,labels=xticks(pos,[r'$\Gamma$','X','M',r'$\Gamma$','Z','A','R','X']) > >> for i in range(0,len(pos)): > >> plt.axvline(x=pos[i],linewidth=0.5,color='k',alpha=0.5) > >> axis([0,375.98,0,300]) > >> ax2=subplot(gs[1]) > >> plot(dosydata,dosxdata,'r-',linewidth=1.5) > >> a=gca() > >> b=a.get_xticks() > >> print b > >> a.xaxis.set_ticks([0.0, 0.015, 0.03]) > >> a.tick_params(axis='x',labelsize=14) > >> a.set_xlim([0,0.03]) > >> a.set_ylim([0,300]) > >> ax.label_outer() > >> ax2.label_outer() > >> show() > > > > > > It's a plot with two subplots. Anyway, the issue I'm running into > concerns > > the x-axis on the second subplot. As you can see I have set it explicitly > > with "a.xaxis.set_ticks([0.0, 0.015, 0.03])". However, when I do this it > > shows up as (0.000, 0.015,0.030) which I would really like it to look > like > > (0,0.015,0.03). In other words, I don't want extra zeros because they are > > unnecessary and make the text run into my other subplot. So I need to be > > able to format them somehow. How would I achieve this selective > formatting > > (because of course I want 0.015 to show up that way and not 0.01). > > > > Thanks so much in advance for the help! > > > > Best, > > Brad > > > > > ------------------------------------------------------------------------------ > > This SF email is sponsosred by: > > Try Windows Azure free for 90 days Click Here > > http://p.sf.net/sfu/sfd2d-msazure > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > >
Brad, Matplotlib axes objects have set_xticklabels methods. It's brute force, but this will work: ax = gca() ax.set_xticks([0., 0.015, 0.03]) ax.set_xticklabels(['0', '0.015', '0.03']) Hope that helps, -paul On Thu, Mar 29, 2012 at 1:13 PM, Brad Malone <bra...@gm...> wrote: > Hello, > > I am working on a plot in which I need to modify the value of the xticks. A > snippet of my code is attached below: > >> fig=figure() >> >> gs=matplotlib.gridspec.GridSpec(1,2,width_ratios=[3,1]) >> gs.update(wspace=0.1) >> ax=subplot(gs[0]) >> ylabel('Frequency (cm'+r'$^{-1}$'+')') >> for i in range(0,len(ydata)): >> plot(xdata[i],ydata[i],'r-',linewidth=1.5) >> plot(xdata[0],[0.0]*len(xdata[0]),'k:') >> >> pos=[0,49.9856985699,99.9713971397,170.661849982,212.979781775,283.67023461\ >> 7,333.655933187,375.97386498] >> >> locs,labels=xticks(pos,[r'$\Gamma$','X','M',r'$\Gamma$','Z','A','R','X']) >> for i in range(0,len(pos)): >> plt.axvline(x=pos[i],linewidth=0.5,color='k',alpha=0.5) >> axis([0,375.98,0,300]) >> ax2=subplot(gs[1]) >> plot(dosydata,dosxdata,'r-',linewidth=1.5) >> a=gca() >> b=a.get_xticks() >> print b >> a.xaxis.set_ticks([0.0, 0.015, 0.03]) >> a.tick_params(axis='x',labelsize=14) >> a.set_xlim([0,0.03]) >> a.set_ylim([0,300]) >> ax.label_outer() >> ax2.label_outer() >> show() > > > It's a plot with two subplots. Anyway, the issue I'm running into concerns > the x-axis on the second subplot. As you can see I have set it explicitly > with "a.xaxis.set_ticks([0.0, 0.015, 0.03])". However, when I do this it > shows up as (0.000, 0.015,0.030) which I would really like it to look like > (0,0.015,0.03). In other words, I don't want extra zeros because they are > unnecessary and make the text run into my other subplot. So I need to be > able to format them somehow. How would I achieve this selective formatting > (because of course I want 0.015 to show up that way and not 0.01). > > Thanks so much in advance for the help! > > Best, > Brad > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hello, I am working on a plot in which I need to modify the value of the xticks. A snippet of my code is attached below: fig=figure() > > gs=matplotlib.gridspec.GridSpec(1,2,width_ratios=[3,1]) > gs.update(wspace=0.1) > ax=subplot(gs[0]) > ylabel('Frequency (cm'+r'$^{-1}$'+')') > for i in range(0,len(ydata)): > plot(xdata[i],ydata[i],'r-',linewidth=1.5) > plot(xdata[0],[0.0]*len(xdata[0]),'k:') > > pos=[0,49.9856985699,99.9713971397,170.661849982,212.979781775,283.67023461\ > 7,333.655933187,375.97386498] > > locs,labels=xticks(pos,[r'$\Gamma$','X','M',r'$\Gamma$','Z','A','R','X']) > for i in range(0,len(pos)): > plt.axvline(x=pos[i],linewidth=0.5,color='k',alpha=0.5) > axis([0,375.98,0,300]) > ax2=subplot(gs[1]) > plot(dosydata,dosxdata,'r-',linewidth=1.5) > a=gca() > b=a.get_xticks() > print b > a.xaxis.set_ticks([0.0, 0.015, 0.03]) > a.tick_params(axis='x',labelsize=14) > a.set_xlim([0,0.03]) > a.set_ylim([0,300]) > ax.label_outer() > ax2.label_outer() > show() > > It's a plot with two subplots. Anyway, the issue I'm running into concerns the x-axis on the second subplot. As you can see I have set it explicitly with "a.xaxis.set_ticks([0.0, 0.015, 0.03])". However, when I do this it shows up as (0.000, 0.015,0.030) which I would really like it to look like (0,0.015,0.03). In other words, I don't want extra zeros because they are unnecessary and make the text run into my other subplot. So I need to be able to format them somehow. How would I achieve this selective formatting (because of course I want 0.015 to show up that way and not 0.01). Thanks so much in advance for the help! Best, Brad
On Thu, Mar 29, 2012 at 1:31 PM, Chao YUE <cha...@gm...> wrote: > Dear all, > > here in cookbook it says "Ever wanted to reverse a colormap, or to > desaturate one ? Here is a routine to apply a function to the look up table > of a colormap: " > http://www.scipy.org/Cookbook/Matplotlib/ColormapTransformations > > but I don't know how to use cmap_map function as in the link to reverse, > for example, the cm.jet colormap? > If all you want is the reversed colormap, you can call `cm.jet_r` (all the default colormaps have a `_r` version). From a *quick* look at the example you link to, it seems that you can pass `lambda x: 1 - x` as the function to `cmap_xmap`. Cheers, -Tony (Chao: Sorry for the duplicate. Forgot to reply-all) > thanks, > > Chao > -- > > *********************************************************************************** > Chao YUE > Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) > UMR 1572 CEA-CNRS-UVSQ > Batiment 712 - Pe 119 > 91191 GIF Sur YVETTE Cedex > Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 > > ************************************************************************************ > > > > ------------------------------------------------------------------------------ > This SF email is sponsosred by: > Try Windows Azure free for 90 days Click Here > http://p.sf.net/sfu/sfd2d-msazure > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Dear all, here in cookbook it says "Ever wanted to reverse a colormap, or to desaturate one ? Here is a routine to apply a function to the look up table of a colormap: " http://www.scipy.org/Cookbook/Matplotlib/ColormapTransformations but I don't know how to use cmap_map function as in the link to reverse, for example, the cm.jet colormap? thanks, Chao -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
Hello, I am programming using POO (object programming) I cannot find a way to create a plot as an object In concept, I would like to do something like """ from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure self.figure = Figure(figsize=(600,600), dpi=72, facecolor=(1,1,1), edgecolor=(0,0,0)) self.figureCanvas = FigureCanvas(self.figure) for i in range(2): plots.append(create_axis()) <-- create plot object in a list self.plots[1].xlabel = 'X1' self.plots[2].xlabel = 'X2' for plot in self.plots: self.figure.add_plots(plot) self.figure.show() self.plots[1].xlabel = 'XX1' self.figure.updateDisplay() """ Is it possible? If so, how?
I never got the trick with set_yscale="clip" to work for my plots (MPL 1.1.0). So I'm passing my error values to this little function in order to correct the yerr_neg: def filt_neg_err(y, yerr, set_ymin=1e-6): ymin = y - yerr filt = ymin < 0 yerr_pos = yerr.copy() yerr_neg = yerr.copy() yerr_neg[filt] = y[filt] - set_ymin return np.array([yerr_neg, yerr_pos]) Cheers, Arne Benjamin Root-2 wrote: > > On Fri, Mar 9, 2012 at 1:14 PM, Wolfgang Draxinger < > wdr...@dr...> wrote: > >> On Fri, 9 Mar 2012 11:19:15 -0600 >> Benjamin Root <ben...@ou...> wrote: >> >> > Can I have the data you used to produce these errorbars so I can test >> > this bug? >> >> Here's the data >> >> # Fluence.... -sigma Signal... -sigma area >> 1127 48.32 9.114 10.31 0.1318 >> 1.127e+04 482.9 35.96 16.15 0.4994 >> 1.127e+05 4829 231.2 101.1 2.568 >> 1.127e+06 4.829e+04 4631 1689 12.22 >> >> > Ah, finally figured it out. The issue is that your y-value for that error > bar is 9.114, but you want to plot error bars that are +/-10.31. That > line > gets thrown out by matplotlib because you can't plot at negative values > for > log scale. There is a trick that might work. The set_yscale method has a > kwarg "nonposy" which could be set to "clip". You could also try setting > to the "symlog" scale which might let you get away with a negative value. > > I hope that helps! > Ben Root > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just 99ドル.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://old.nabble.com/Errorbars-not-drawn-correctly-in-logarithmic-scales-tp33469114p33544881.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Dear all, I make a contourf plot but I think the colorbar is too wide. Can I make it narrower (slimmer)? plt.contourf(data) cbar=plt.colorbar() ?? thanks for any suggestions. cheers, Chao -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
On Tue, Mar 27, 2012 at 3:31 AM, Mike Kaufman <mc...@gm...> wrote: > On 3/26/12 12:49 PM, Christopher Graves wrote: > >> On Sun, Mar 11, 2012 at 2:32 PM, Christopher Graves >> <chr...@gm... <mailto:chr...@gm...>> wrote: >> > > Try this: >> >> from pylab import * >> from matplotlib.ticker import AutoMinorLocator >> >> clf() >> ax=subplot(111) >> ax.autoscale(tight=True) >> plot([1,2,4],[1,2,3]) >> ax.xaxis.set_minor_locator(__AutoMinorLocator(2)) >> ax.yaxis.set_minor_locator(__AutoMinorLocator(2)) >> >> draw() >> >> M >> >> PS: I believe this is a fairly new feature... >> >> >> Thanks! Great news that AutoMinorLocator has been added and >> accomplishes this. Regarding the P.S. I can confirm that the feature >> was not in matplotlib 1.0.1 - I had to update to 1.1.0 to use it. >> >> Best /Chris >> >> >> >> Hi Mike, >> >> A follow-up question... When using that, if one then tries to manually >> use the zoom-box tool available with a matplotlib plot, if one draws too >> small of a box (less than 2 major ticks in x or y dimension, based on >> the following error message), it gives the following error and further >> operations on the plot do not work. >> >> ValueError: Need at least two major ticks to find minor tick locations >> ( File "/usr/lib/pymodules/python2.7/matplotlib/ticker.py", line 1528, >> in __call__ ) >> >> Any way to avoid this for now? (And ultimately, should this be made into >> a bug fix request?) >> > > > Ok, I seem to remember seeing this error before, but I can't trip it now > (with either 1.1.1rc or today's git checkout of 1.2.x). Do you have > a short script that can reproduce this? For me, the zoom-box tool seems to > be [correctly] setting the majortick locations as I zoom in, thus > preventing this exception. I should note that I'm using the GTKAgg > frontend. This may be the issue. A long time ago I was using the MacOSX > frontend, and maybe this was when I was seeing it... > > Aside from that, this would be a bug. > > M > On Wed, Mar 28, 2012 at 10:50 PM, Christopher Graves < chr...@gm...> wrote: > Hi Mike, > > Ok I found the root cause. Here is a short script: > > > from pylab import * > > from matplotlib.ticker import MultipleLocator, AutoMinorLocator > > plot([0,3],[0,2.2]) > > ax = gca() > > ax.xaxis.set_major_locator(MultipleLocator(0.5)) > > ax.xaxis.set_minor_locator(AutoMinorLocator(2)) > > show() > > > Once MultipleLocator has been called, the auto-reassigning of tick spacing > when zooming (either with the zoom box or the cross and right-click drag) > does not happen, and then AutoMinorLocator has the error because it has > "majorstep = majorlocs[1] - majorlocs[0]" and majorlocs has less than 2 > elements when zoomed in that far. (GTKAgg vs others doesn't matter.) > > Seems like a bug. Is it the same in the newer mpl version you have? > For my purposes, a different fix could work, because my reason to use > MultipleLocator is only to make x and y major ticks have equal spacing, as > follows: > > from pylab import * > > from matplotlib.ticker import MultipleLocator, AutoMinorLocator > > ax = subplot(111, aspect='equal') > > plot([0,3],[0,1.1]) > > # Set the ticks to have the same interval on both x and y axes: > > x_major_tick_interval = > abs(ax.xaxis.get_ticklocs()[0]-ax.xaxis.get_ticklocs()[1]) > > ax.yaxis.set_major_locator(MultipleLocator(x_major_tick_interval)) > > # 2 minor ticks per major tick: > > ax.yaxis.set_minor_locator(AutoMinorLocator(2)) > > ax.xaxis.set_minor_locator(AutoMinorLocator(2)) > > show() > > > aspect='equal' is not necessary to bring out the error, it just > illustrates the purpose of this. Is there another way to fix the x and y > tick interval as equal? (And ideally even maintain the equal spacing when > zooming.. As it is, they initially show as equal, but when zooming they can > lose equal visible spacing while maintaining equal value intervals.) > > > Best, > > Chris > On Thu, Mar 29, 2012 at 4:06 AM, Mike Kaufman <mc...@gm...> wrote: > I can confirm this bug on yesterday's checkout. About equal spacing, I > don't know offhand. A question to ask the list I think. If you could, > please file as an issue on the github tracker. Include your code nugget > that reproduces. Thanks. > > I don't have a lot of time at this moment, so hopefully somebody else > looks at fixing it first. > > M > Ok, bug is filed at https://github.com/matplotlib/matplotlib/issues/807 I did not realize that our last couple of messages were not sent to the mailing-list. To others on mailing-list: Apart from someone hopefully fixing this bug, does anyone know another way to fix the x and y tick interval as equal, besides the way I did it in the last code block above, which uses "ax.yaxis.set_major_locator(MultipleLocator(x_major_tick_interval))" after plotting? (And ideally even maintain the equal spacing when zooming.. As it is, they initially show as equal, but when zooming they can lose equal visible spacing while maintaining equal value intervals.) Best /Chris