SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

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
2
3
(3)
4
(6)
5
(5)
6
(5)
7
8
9
(1)
10
(5)
11
(11)
12
(6)
13
(6)
14
(4)
15
(1)
16
(1)
17
(10)
18
(20)
19
(5)
20
(7)
21
(1)
22
23
24
25
(1)
26
(3)
27
(1)
28
29
(1)
30
(2)
31
(3)





Showing 11 results of 11

From: Timothy D. <tim...@gm...> - 2012年12月11日 23:24:26
Thanks Eric, this did the trick. I did not know such a thing existed. Why
"4"?
Tim
On Tue, Dec 11, 2012 at 4:35 PM, Eric Firing <ef...@ha...> wrote:
> On 2012年12月11日 12:16 PM, Timothy Duly wrote:
> > Hi,
> >
> > I'm running into a problem with overlaying a scatter plot on a polygon
> > that is on a Basemap. The polygon covers up the scatter plot created by
> > the basemap. To show the issue, the simple example below and broken
> > down into three steps: 1) creating the map, 2) adding the red polygon,
> > and 3) adding the "x" markers via a scatter plot. You will see that the
> > "x" markers are not on top of the polygon.
> >
> > Why does the polygon cover up the markers, even though I have the
> > markers added after the polygon? Would there be a better way to do
> > this? I could set the polygon alpha to, say, 0.5, but this feature does
> > not show when I save it as an eps image. Therefore, I would like to
> > keep alpha=1.
>
> Artists have a zorder attribute that controls the drawing order. Try
> adding the kwarg zorder=4 to your scatter call. I think that will take
> care of it. (Alternatively you could lower the zorder of the polygon.)
>
> Eric
>
> >
> > Thanks,
> > Tim
> >
> > from mpl_toolkits.basemap import Basemap
> > import numpy as np
> > from matplotlib.pyplot import *
> > from matplotlib.patches import Polygon
> >
> >
> > # ---------------------
> > # Part 1: Draw the map
> > # ---------------------
> >
> > # Hawaii:
> > lat_0 = 20.71-8.
> > lon_0 = 203.83
> >
> > figure(1); clf();
> > m = Basemap(width=2500e3,height=2500e3,
> > resolution='l',projection='stere', \
> > lat_ts=lat_0,lat_0=lat_0,lon_0=lon_0)
> >
> > m.drawcoastlines()
> > m.fillcontinents(color='coral',lake_color='aqua')
> >
> > # draw parallels and meridians:
> > m.drawmapboundary(fill_color='aqua')
> >
> > lats = np.arange(np.floor(m.latmin),np.ceil(m.latmax),2.)
> > lons = np.arange(190.,211.,5.)
> > m.drawparallels(lats,labels=[True,False,False,False])
> > m.drawmeridians(lons,labels=[False,False,False,True])
> >
> > draw(); show()
> >
> > # ---------------------
> > # Part 2: Add a polygon
> > # ---------------------
> >
> > lon_poly = np.array([-160., -150., -150., -160.,])
> > lat_poly = np.array([10., 10., 14., 14.,])
> > X, Y = m(lon_poly, lat_poly)
> > xy = np.vstack([X,Y]).T
> >
> > poly = Polygon(xy, closed=True, \
> > facecolor='red', \
> > linewidth=1., \
> > )
> >
> > gca().add_patch(poly)
> >
> > # ---------------------
> > # Part 3: add some 'x' markers
> > # ---------------------
> >
> > lon_markers = np.arange(-168.,-144.,2.)
> > lat_markers = np.arange(5.,20.,1.)
> > X, Y = np.meshgrid(lon_markers, lat_markers)
> >
> > x, y = m(X.ravel(), Y.ravel())
> > m.scatter(x,y,marker='x')
> >
> > draw(); show()
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> > Remotely access PCs and mobile devices and provide instant support
> > Improve your efficiency, and focus on delivering more value-add services
> > Discover what IT Professionals Know. Rescue delivers
> > http://p.sf.net/sfu/logmein_12329d2d
> >
> >
> >
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Eric F. <ef...@ha...> - 2012年12月11日 22:34:22
On 2012年12月11日 12:16 PM, Timothy Duly wrote:
> Hi,
>
> I'm running into a problem with overlaying a scatter plot on a polygon
> that is on a Basemap. The polygon covers up the scatter plot created by
> the basemap. To show the issue, the simple example below and broken
> down into three steps: 1) creating the map, 2) adding the red polygon,
> and 3) adding the "x" markers via a scatter plot. You will see that the
> "x" markers are not on top of the polygon.
>
> Why does the polygon cover up the markers, even though I have the
> markers added after the polygon? Would there be a better way to do
> this? I could set the polygon alpha to, say, 0.5, but this feature does
> not show when I save it as an eps image. Therefore, I would like to
> keep alpha=1.
Artists have a zorder attribute that controls the drawing order. Try 
adding the kwarg zorder=4 to your scatter call. I think that will take 
care of it. (Alternatively you could lower the zorder of the polygon.)
Eric
>
> Thanks,
> Tim
>
> from mpl_toolkits.basemap import Basemap
> import numpy as np
> from matplotlib.pyplot import *
> from matplotlib.patches import Polygon
>
>
> # ---------------------
> # Part 1: Draw the map
> # ---------------------
>
> # Hawaii:
> lat_0 = 20.71-8.
> lon_0 = 203.83
>
> figure(1); clf();
> m = Basemap(width=2500e3,height=2500e3,
> resolution='l',projection='stere', \
> lat_ts=lat_0,lat_0=lat_0,lon_0=lon_0)
>
> m.drawcoastlines()
> m.fillcontinents(color='coral',lake_color='aqua')
>
> # draw parallels and meridians:
> m.drawmapboundary(fill_color='aqua')
>
> lats = np.arange(np.floor(m.latmin),np.ceil(m.latmax),2.)
> lons = np.arange(190.,211.,5.)
> m.drawparallels(lats,labels=[True,False,False,False])
> m.drawmeridians(lons,labels=[False,False,False,True])
>
> draw(); show()
>
> # ---------------------
> # Part 2: Add a polygon
> # ---------------------
>
> lon_poly = np.array([-160., -150., -150., -160.,])
> lat_poly = np.array([10., 10., 14., 14.,])
> X, Y = m(lon_poly, lat_poly)
> xy = np.vstack([X,Y]).T
>
> poly = Polygon(xy, closed=True, \
> facecolor='red', \
> linewidth=1., \
> )
>
> gca().add_patch(poly)
>
> # ---------------------
> # Part 3: add some 'x' markers
> # ---------------------
>
> lon_markers = np.arange(-168.,-144.,2.)
> lat_markers = np.arange(5.,20.,1.)
> X, Y = np.meshgrid(lon_markers, lat_markers)
>
> x, y = m(X.ravel(), Y.ravel())
> m.scatter(x,y,marker='x')
>
> draw(); show()
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Timothy D. <tim...@gm...> - 2012年12月11日 22:16:50
Hi,
I'm running into a problem with overlaying a scatter plot on a polygon that
is on a Basemap. The polygon covers up the scatter plot created by the
basemap. To show the issue, the simple example below and broken down into
three steps: 1) creating the map, 2) adding the red polygon, and 3) adding
the "x" markers via a scatter plot. You will see that the "x" markers are
not on top of the polygon.
Why does the polygon cover up the markers, even though I have the markers
added after the polygon? Would there be a better way to do this? I could
set the polygon alpha to, say, 0.5, but this feature does not show when I
save it as an eps image. Therefore, I would like to keep alpha=1.
Thanks,
Tim
from mpl_toolkits.basemap import Basemap
import numpy as np
from matplotlib.pyplot import *
from matplotlib.patches import Polygon
# ---------------------
# Part 1: Draw the map
# ---------------------
# Hawaii:
lat_0 = 20.71-8.
lon_0 = 203.83
figure(1); clf();
m = Basemap(width=2500e3,height=2500e3,
 resolution='l',projection='stere', \
 lat_ts=lat_0,lat_0=lat_0,lon_0=lon_0)
m.drawcoastlines()
m.fillcontinents(color='coral',lake_color='aqua')
# draw parallels and meridians:
m.drawmapboundary(fill_color='aqua')
lats = np.arange(np.floor(m.latmin),np.ceil(m.latmax),2.)
lons = np.arange(190.,211.,5.)
m.drawparallels(lats,labels=[True,False,False,False])
m.drawmeridians(lons,labels=[False,False,False,True])
draw(); show()
# ---------------------
# Part 2: Add a polygon
# ---------------------
lon_poly = np.array([-160., -150., -150., -160.,])
lat_poly = np.array([10., 10., 14., 14.,])
X, Y = m(lon_poly, lat_poly)
xy = np.vstack([X,Y]).T
poly = Polygon(xy, closed=True, \
 facecolor='red', \
 linewidth=1., \
 )
gca().add_patch(poly)
# ---------------------
# Part 3: add some 'x' markers
# ---------------------
lon_markers = np.arange(-168.,-144.,2.)
lat_markers = np.arange(5.,20.,1.)
X, Y = np.meshgrid(lon_markers, lat_markers)
x, y = m(X.ravel(), Y.ravel())
m.scatter(x,y,marker='x')
draw(); show()
From: Chloe L. <ch...@be...> - 2012年12月11日 19:37:55
Would it be workable for the default to be proportional to the size of the array passed in? (suggested only because I do that myself, when deciding how coarse an investigative plot I can get away with.) 
&C
On Dec 11, 2012, at 9:28 AM, Benjamin Root wrote:
> 
> 
> On Tue, Dec 11, 2012 at 12:17 PM, Ethan Gutmann <eth...@gm...> wrote:
> > This is because the default rstride and cstride arguments is 10, IIRC. Since your array is only 12x12, the surface plotting is barely plotting anything. Try calling:
> >
> > ax.plot_surface(x, y, a, rstride=1, cstride=1)
> 
> 
> You know, this has tripped me up a few times too. I don't use plot_surface often enough to always remember this, and it is not the first parameter I think to check when debugging a program. Is there a reason the default rstride and cstride aren't 1 other than possible memory constraints for large arrays?
> 
> I suppose changing the defaults might break programs that rely on this behavior, but if this API ever gets revamped, consider this a request to make 1 be the default instead. I would think that the default should be that the obvious command "just works" while plots that may require too much memory can be tweaked to work faster (I'm assuming that is the reason for the default of 10).
> 
> 
> I actually don't know the reason for the defaults (I didn't create mplot3d), but that has always been my suspicion. There is an existing PR to change the default behavior to be somewhat "automatic". At the time, I wasn't really in favor of it, but when looked in this light, it does make some more sense.
> 
> I'll have to think about this a bit more.
> Ben Root
> 
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d_______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Benjamin R. <ben...@ou...> - 2012年12月11日 19:16:56
On Tue, Dec 11, 2012 at 2:08 PM, Chloe Lewis <ch...@be...> wrote:
> Would it be workable for the default to be proportional to the size of the
> array passed in? (suggested only because I do that myself, when deciding
> how coarse an investigative plot I can get away with.)
>
> &C
>
>
That is pretty much what the PR I was referring to does:
https://github.com/matplotlib/matplotlib/pull/1040
It makes it so that the behavior of both plot_surface and plot_wireframe is
the same in this respect. So, by default, the rstride and cstride would be
1% of the size of your data array. This would make the default for the
recent example be 1, therefore showing every point. I wonder if a
logarithmic default would make sense to better handle large data arrays?
Thoughts?
Ben Root
From: Benjamin R. <ben...@ou...> - 2012年12月11日 17:28:51
On Tue, Dec 11, 2012 at 12:17 PM, Ethan Gutmann <eth...@gm...>wrote:
> > This is because the default rstride and cstride arguments is 10, IIRC.
> Since your array is only 12x12, the surface plotting is barely plotting
> anything. Try calling:
> >
> > ax.plot_surface(x, y, a, rstride=1, cstride=1)
>
>
> You know, this has tripped me up a few times too. I don't use
> plot_surface often enough to always remember this, and it is not the first
> parameter I think to check when debugging a program. Is there a reason the
> default rstride and cstride aren't 1 other than possible memory constraints
> for large arrays?
>
> I suppose changing the defaults might break programs that rely on this
> behavior, but if this API ever gets revamped, consider this a request to
> make 1 be the default instead. I would think that the default should be
> that the obvious command "just works" while plots that may require too much
> memory can be tweaked to work faster (I'm assuming that is the reason for
> the default of 10).
>
>
I actually don't know the reason for the defaults (I didn't create
mplot3d), but that has always been my suspicion. There is an existing PR
to change the default behavior to be somewhat "automatic". At the time, I
wasn't really in favor of it, but when looked in this light, it does make
some more sense.
I'll have to think about this a bit more.
Ben Root
From: Ethan G. <eth...@gm...> - 2012年12月11日 17:17:56
> This is because the default rstride and cstride arguments is 10, IIRC. Since your array is only 12x12, the surface plotting is barely plotting anything. Try calling:
> 
> ax.plot_surface(x, y, a, rstride=1, cstride=1)
You know, this has tripped me up a few times too. I don't use plot_surface often enough to always remember this, and it is not the first parameter I think to check when debugging a program. Is there a reason the default rstride and cstride aren't 1 other than possible memory constraints for large arrays? 
I suppose changing the defaults might break programs that rely on this behavior, but if this API ever gets revamped, consider this a request to make 1 be the default instead. I would think that the default should be that the obvious command "just works" while plots that may require too much memory can be tweaked to work faster (I'm assuming that is the reason for the default of 10). 
thanks
Ethan
From: Benjamin R. <ben...@ou...> - 2012年12月11日 14:38:48
On Tue, Dec 11, 2012 at 8:25 AM, Degang Wu <sam...@gm...> wrote:
> Hi,
>
> My OS is Mac OS X Lion, and the version of matplotlib is 1.2.0 from
> macport.
>
> Now I have an 2d array
>
> a=array([[ 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 0. , 6.40312424, 19.02629759, 9.8488578 ,
> 12.16552506, 14. , 0. , 37.01351105],
> [ 0. , 0. , 0. , 0. ,
> 6.40312424, 4.24264069, 1.41421356, 8.54400375,
> 4.47213595, 31.25699922, 0. , 25.70992026],
> [ 0. , 0. , 0. , 0. ,
> 19.02629759, 1.41421356, 17.2626765 , 31.32091953,
> 24.18677324, 43.829214 , 0. , 55.14526272],
> [ 0. , 0. , 0. , 0. ,
> 9.8488578 , 8.54400375, 31.32091953, 35.51056181,
> 40.81666326, 57.27128425, 0. , 84.62860037],
> [ 0. , 0. , 0. , 0. ,
> 12.16552506, 4.47213595, 24.18677324, 40.81666326,
> 43.65775991, 74.24957912, 0. , 112.0044642 ],
> [ 0. , 0. , 0. , 0. ,
> 14. , 31.25699922, 43.829214 , 57.27128425,
> 74.24957912, 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ,
> 0. , 0. , 0. , 0. ],
> [ 0. , 0. , 0. , 0. ,
> 37.01351105, 25.70992026, 55.14526272, 84.62860037,
> 112.0044642 , 0. , 0. , 0. ]])
>
> first I plot it (in ipython notebook) using:
>
> coord_max=12
> fig = plt.figure()
> ax = fig.gca(projection='3d')
> x,y=np.meshgrid(np.arange(coord_max),np.arange(coord_max))
> ax.plot_wireframe(x,y,a)
>
> and the plot looks fine.
>
> but if I use plot_surface instead, the plot looks very wrong: the plot is
> zero everywhere except on the boundaries.
>
This is because the default rstride and cstride arguments is 10, IIRC.
Since your array is only 12x12, the surface plotting is barely plotting
anything. Try calling:
ax.plot_surface(x, y, a, rstride=1, cstride=1)
I hope that helps!
Ben Root
From: Degang Wu <sam...@gm...> - 2012年12月11日 13:25:29
Hi,
My OS is Mac OS X Lion, and the version of matplotlib is 1.2.0 from macport.
Now I have an 2d array
a=array([[ 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 0. , 6.40312424, 19.02629759, 9.8488578 ,
 12.16552506, 14. , 0. , 37.01351105],
 [ 0. , 0. , 0. , 0. ,
 6.40312424, 4.24264069, 1.41421356, 8.54400375,
 4.47213595, 31.25699922, 0. , 25.70992026],
 [ 0. , 0. , 0. , 0. ,
 19.02629759, 1.41421356, 17.2626765 , 31.32091953,
 24.18677324, 43.829214 , 0. , 55.14526272],
 [ 0. , 0. , 0. , 0. ,
 9.8488578 , 8.54400375, 31.32091953, 35.51056181,
 40.81666326, 57.27128425, 0. , 84.62860037],
 [ 0. , 0. , 0. , 0. ,
 12.16552506, 4.47213595, 24.18677324, 40.81666326,
 43.65775991, 74.24957912, 0. , 112.0044642 ],
 [ 0. , 0. , 0. , 0. ,
 14. , 31.25699922, 43.829214 , 57.27128425,
 74.24957912, 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ,
 0. , 0. , 0. , 0. ],
 [ 0. , 0. , 0. , 0. ,
 37.01351105, 25.70992026, 55.14526272, 84.62860037,
 112.0044642 , 0. , 0. , 0. ]])
first I plot it (in ipython notebook) using:
coord_max=12
fig = plt.figure()
ax = fig.gca(projection='3d')
x,y=np.meshgrid(np.arange(coord_max),np.arange(coord_max))
ax.plot_wireframe(x,y,a)
and the plot looks fine.
but if I use plot_surface instead, the plot looks very wrong: the plot is zero everywhere except on the boundaries.
From: Chao Y. <cha...@gm...> - 2012年12月11日 09:57:48
Dear all,
I checked and it seems that we don't have rc Parameters for colorbar? could
it be desirable?
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
************************************************************************************
From: Joe K. <jof...@gm...> - 2012年12月11日 00:27:46
On Mon, Dec 10, 2012 at 2:45 AM, Phil Elson <pel...@gm...> wrote:
> Hi Joe,
>
> Thanks for bringing this up, it is certainly valuable to highlight this on
> the mailinglist. As you say, the change is hard to spot and, I agree, makes
> library code supporting v1.1.1 and v1.2 harder than one would like.
> Typically, anything which is going to break core APIs (even slightly)
> should be documented under the "API Changes" page here
> http://matplotlib.org/api/api_changes.html#changes-in-1-2-x .
Thanks! I wasn't aware of that page! (and it does a very nice job of
documenting the changes!)
> You will find there were quite a few changes made relating to transforms
> which I think is entirely my doing, so at least we know who the guilty
> party is :-)
>
> Thanks for spotting the example failure - I split these changes over many
> separate pull requests and did scan the gallery for any noticeable changes,
> but this one must have slipped the net.
>
> If you're still having problems with using the newer transform API, please
> shout and I'd be happy to have a look for you.
>
Will do, thanks for the offer!
>
> All the best,
>
> Phil
>
>
> On 9 December 2012 22:10, Joe Kington <jof...@gm...> wrote:
>
>> Hi folks,
>>
>> At some point transforms.Transform was slightly refactored.
>> (Particularly, this commit:
>> https://github.com/matplotlib/matplotlib/commit/8bbe2e55f29b28ba558504b27596b8e36a087c1c) This changed what methods need to be overridden when subclassing
>> Transform.
>>
>> All in all, it seems like a very sensible change, but it led to some very
>> hard-to-find bugs in some of my code that subclasses transforms.Transform.
>> I thought I would mention it on the mailing list for anyone else that uses
>> custom projections. Forgive me if it was mentioned earlier and I just
>> didn't notice.
>>
>> With versions 1.1.x and older, one had to directly implement a transformmethod when subclassingtransforms.Transform,
>> otherwise a NotImplemented error would be raised.
>>
>> With versions 1.2.x and newer, the preferred way appears to be to
>> implement things in a separate transform_affine or transform_non_affinemethod and not explicitly implement a
>> transform method.
>>
>> If you implement the non-affine portion directly in the transform method
>> without overriding transform_non_affine, it leads to strange drawing
>> bugs with v1.2 that did not occur with older versions. (For example, this
>> broke one of the examples in the gallery between 1.1. and 1.2:
>> http://matplotlib.org/1.1.1/examples/api/custom_projection_example.html
>> http://matplotlib.org/1.2.0/examples/api/custom_projection_example.html. I just submitted a pull request to update the example, by the way.)
>>
>> On the other hand, for compatibility with versions 1.1 and older, you
>> have to explicitly implement the transform method as well, otherwise
>> you'll get the NotImplemented error.
>>
>> Therefore, now one needs to explicitly implement *_both_* the
>> transform_non_affine and transform methods of a custom non-affine
>> transform for compatibility with 1.1 and older as well as 1.2 and newer.
>>
>> Similarly, one needs to implement* _both_ *the transform_path_non_affineand the
>> transform_path methods for compatibility with newer and older versions
>> of matplotlib.
>>
>> Arguably, it should have always been done this way, but based onexamples/api/custom_projection_example.py,
>> I (and I suspect many other people as well) implemented the transform
>> directly as the transform method when subclassing Transform, instead of
>> separately in a transform_affine or transform_non_affine method.
>>
>> Is this a large enough change to warrant a mention in the changelog? (On
>> the other hand, the mailing list probably gets a lot more eyes on it than
>> the changelog...)
>>
>> Thanks!
>> -Joe
>>
>>
>>
>> ------------------------------------------------------------------------------
>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>> Remotely access PCs and mobile devices and provide instant support
>> Improve your efficiency, and focus on delivering more value-add services
>> Discover what IT Professionals Know. Rescue delivers
>> http://p.sf.net/sfu/logmein_12329d2d
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>

Showing 11 results of 11

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