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
(8) |
2
(4) |
3
(2) |
4
(9) |
5
(7) |
6
(3) |
7
(6) |
8
(5) |
9
(2) |
10
(7) |
11
(3) |
12
(9) |
13
(2) |
14
(1) |
15
(2) |
16
(2) |
17
(5) |
18
(5) |
19
(8) |
20
(3) |
21
(1) |
22
(6) |
23
(3) |
24
(3) |
25
(2) |
26
(16) |
27
(1) |
28
(1) |
29
(2) |
30
(5) |
|
|
|
|
From: Tim M. <tim...@gm...> - 2013-04-30 21:22:56
|
> I would just use the fill_between method > http://matplotlib.org/examples/pylab_examples/fill_between_demo.html?highlight=codex%20fill_between > <http://matplotlib.org/examples/pylab_examples/fill_between_demo..html?highlight=codex%20fill_between> today I found this: http://tonysyu.github.io/mpltools/auto_examples/special/plot_errorfill.html#example-special-plot-errorfill-py ideally exactly what I need. |
From: mgurling <mag...@gm...> - 2013-04-30 20:24:25
|
I'm trying to make a legend handle that is half black and half hatched. I've tried ... ... rpos1 = ax.bar(ind, pos1, width, color='k', label='+1') rneg1 = ax.bar(ind, neg1, width, color='w', hatch='///', label='-1') rpos2 = ax.bar(ind, pos2, width, color='w', label='+2') rneg2 = ax.bar(ind, neg2, width, color='w', label='-2') handles, labels = ax.get_legend_handles_labels() ax.legend( ((handles[0], handles[1]), handles[2]) , ('one', 'two') ) ... The first handles--handles[0] and handles[1]--are combined but not side by side: the hatched rectangle is placed over the top of the black rectangle so the handle looks like it is just hatched. How might I create this mixed handle? -- View this message in context: http://matplotlib.1069221.n5.nabble.com/black-and-hatched-legend-handle-tp40979.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Nih H. <mm...@gm...> - 2013-04-30 14:44:47
|
Hello everyone, The problem I'm having can be seen by running the code at http://pastebin.com/inNtYQkH (it is 90 lines long, couldn't make it shorter in order to demonstrate almost everything I wanted, not including in the email since the indentation might get broken). I'm trying to replot a line every X milliseconds -- if there is new data -- together with the Cursor widget. So far I have no issues in plotting such line, but the Cursor flickers when the plot is redraw. I guess my issue is that Cursor uses blit, while I'm not using the blit technique for replotting. Should I be doing this animation in a whole different method ? Or is there a way to use Cursor in this setup without seeing it flickering ? I didn't manage to use FuncAnimation because the data arrives in irregular intervals (not in the code included, but in the real case), from different sources from the network. Note that redrawing the line is not an issue speed-wise, since the number of points is relatively low. It is just that the Cursor flickers whenever the plot is redraw. |
From: Scott S. <sco...@gm...> - 2013-04-30 11:21:04
|
Forgot to send to the list <sigh> ---------- Forwarded message ---------- From: Scott Sinclair <sco...@gm...> Date: 30 April 2013 13:20 Subject: Re: [Matplotlib-users] Basemap plotting data on projection To: ChaoYue <cha...@gm...> On 29 April 2013 23:32, ChaoYue <cha...@gm...> wrote: > pdata = np.genfromtxt('pdata.txt') > pdata = np.ma.masked_greater(pdata,1E20) > lonm,latm=m.makegrid(pdata.shape[1],pdata.shape[0]) The problem is here ^^^ The data don't lie on an equally spaced grid in the Mercator projection, so it doesn't make sense to ask for the lat/lon coordinates of a grid that is equally spaced in this projection. You need to determine the *actual* lat/lon coordinates before projecting them onto the Mercator map and plotting... Something like this should work (If you can assume that the data are on an equally spaced grid in Equidistant Cyl projection having the boundaries specified): from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt # Set up the Equidistant Cyl projection to determine data locations. pdata = np.genfromtxt('pdata.txt') pdata = np.ma.masked_greater(pdata, 1E20) ny, nx = pdata.shape cyl_basemap = Basemap(projection='cyl', llcrnrlat=9, urcrnrlat=54.5, llcrnrlon=74, urcrnrlon=142, lat_ts=20, resolution='l') lon, lat = cyl_basemap.makegrid(nx, ny) # Set up the Mercator projection for plotting. m = Basemap(projection='merc', llcrnrlat=9, urcrnrlat=54.5,\ llcrnrlon=74, urcrnrlon=142, lat_ts=20, resolution='l') m.drawcountries() m.drawcoastlines() m.drawmapboundary(fill_color='white') m.drawrivers() x, y = m(lon, np.flipud(lat)) cs = m.contourf(x, y, pdata) m.colorbar(cs) plt.show() Cheers, Scott |
From: Thomas L. <thl...@ms...> - 2013-04-30 08:46:04
|
Just to stress the following: While the tutorial program is already online, the deadline for the call for abstracts just got extended to May 5, 2013. So there is still about a week to submit an interesting topic for a talk or a poster. You use Python for interesting scientific projects? Please consider presenting your work in Brussels. Thomas ********************** Dr Thomas Lecocq Geologist Royal Observatory of Belgium - Seismology - ********************** From: thl...@ms... To: ent...@en...; mat...@li... Date: Sun, 28 Apr 2013 10:53:57 +0000 Subject: [Enthought-Dev] EuroSciPy 2013 FYI -------- Message original -------- Sujet: EuroSciPy 2013 - Deadline of the call for abstracts on 28 april and many updates Date : Mon, 22 Apr 2013 19:50:04 +0200 De : Organisation of EuroScipy <eur...@py...> Pour : Organisation of EuroScipy <eur...@py...> Dear Scientist using Python, EuroSciPy is the European Conference on Python in Science. The call for abstracts for oral and poster presentations for EuroSciPy 2013 closes at the end of this week, on 28 april. We welcome your applications via our website https://www.euroscipy.org/. As a reminder, our keynote speakers are Cameron Neylon (Public Library of Science) and Peter Wang (Continuum Analytics). Find more below! Tutorials, sprints, focus issue of the journal "Computational Science and Discovery" (IOP), proceedings and participant support! We are glad to announce that the tutorial program is online at https://www.euroscipy.org/schedule/tutorials/. As usual, our tutorial speakers will cover all the basics in a beginner track and many powerful tools in the advanced track. Three sprints will be organized on the day following the conference: Python visualization, Sage: Open Source Mathematics Software and NumPy and SciPy. More information at https://www.euroscipy.org/program/sprints/. Contributors to EuroSciPy 2013 will benefit from two communication opportunities: 1. An invitation to submit full and original research papers to be reviewed for a focus issue (jointly with the SciPy 2013 conference) on Scientific Computing with Python in Computational Science & Discovery (CSD), IOP Publishing's electronic-only, multidisciplinary journal for the computational science community. Further details (guest editors, issue scope, submission details, etc) will be announced soon. 2. An invitation to submit their contribution as a paper for the EuroSciPy 2013 proceedings that will be published. Further details will be announced soon. Thanks to NumFOCUS and PySV, travel support will be provided to a small number of students/participants based on their contribution to the conference and/or to the scientific Python tools. More information will follow during the registration period. SciPythonic Regards, The EuroSciPy 2013 Committee ********************** Dr Thomas Lecocq Geologist Royal Observatory of Belgium - Seismology - ********************** _______________________________________________ Enthought-Dev mailing list Ent...@ma... https://mail.enthought.com/mailman/listinfo/enthought-dev |
From: ChaoYue <cha...@gm...> - 2013-04-29 21:32:48
|
Hi all, Indeed it's a bit strange, I can reproduce the problem. But when using 'cyl' projection I don't have this issue. attahced two figures showed the difference. the tested data is also attached. complete code is below: from mpl_toolkits.basemap import Basemap, cm, maskoceans import matplotlib.pyplot as plt # set up the Mercator projection m = Basemap(projection='merc',llcrnrlat=9,urcrnrlat=54.5,\ llcrnrlon=74,urcrnrlon=142,lat_ts=20,resolution='l') m.drawcountries() m.drawcoastlines() m.drawmapboundary(fill_color='aqua') m.drawrivers() pdata = np.genfromtxt('pdata.txt') pdata = np.ma.masked_greater(pdata,1E20) lonm,latm=m.makegrid(pdata.shape[1],pdata.shape[0]) latm=np.flipud(latm) lonpro,latpro=m(lonm,latm) cs = m.contourf(lonpro,latpro,pdata) m.colorbar(cs) cheers, Chao On Mon, Apr 29, 2013 at 12:53 PM, Ann [via matplotlib] < ml-...@n5...> wrote: > Dear All, > > > I am encountering the following problem: > I have some data which I want to plot on a map. Unfortunately, I do not > manage to plot the data according to the shape of the projection! What it > appears to do is to simply plot the data on top of the projection without > taking the actual position (latitude and longitude) into account. However, > this is crucial for my analysis. > Could anybody spot the mistake in my code? > Any suggestion would be of great help!! > THANKS > > > > from mpl_toolkits.basemap import Basemap, cm, maskoceans > import matplotlib.pyplot as plt > > > # set up the Mercator projection > m = Basemap(projection='merc',llcrnrlat=9,urcrnrlat=54.5,\ > llcrnrlon=74,urcrnrlon=142,lat_ts=20,resolution='l') > > m.drawcountries() > m.drawcoastlines() > m.drawmapboundary(fill_color='aqua') > m.drawrivers() > > > parallels = N.arange(0.,81,10.) > labels = [left,right,top,bottom] > m.drawparallels(parallels,labels=[1,0,0,0]) > meridians = N.arange(10.,351.,20.) > m.drawmeridians(meridians,labels=[0,0,0,1]) > > > ny=resmat.shape[0] # resmat is the matrix containing the data which I want > o plot. > nx=resmat.shape[1] > > #get lat/lons of ny by nx evenly space grid > lons, lats =m.makegrid(nx, ny) > > > # compute map projection coordinates > x, y= m(lons, lats) > > maskdata = maskoceans(lons, lats, resmat, inlands= True, resolution = 'l') > > > cs = m.contourf(x,y,maskdata,150,cmap=cm.GMT_no_green_r) > > plt.show() > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://matplotlib.1069221.n5.nabble.com/Basemap-plotting-data-on-projection-tp40973.html > To start a new topic under matplotlib - users, email > ml-...@n5... > To unsubscribe from matplotlib, click here<http://matplotlib.1069221.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=2&code=Y2hhb3l1ZWpveUBnbWFpbC5jb218MnwxMzg1NzAzMzQx> > . > NAML<http://matplotlib.1069221.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > -- *********************************************************************************** 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 ************************************************************************************ pdata.txt (413K) <http://matplotlib.1069221.n5.nabble.com/attachment/40975/0/pdata.txt> cyl.jpg (540K) <http://matplotlib.1069221.n5.nabble.com/attachment/40975/1/cyl.jpg> merc.jpg (435K) <http://matplotlib.1069221.n5.nabble.com/attachment/40975/2/merc.jpg> -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Basemap-plotting-data-on-projection-tp40973p40975.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Mathew T. <mat...@ed...> - 2013-04-29 08:42:31
|
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |
From: Thomas L. <thl...@ms...> - 2013-04-28 10:54:04
|
FYI -------- Message original -------- Sujet: EuroSciPy 2013 - Deadline of the call for abstracts on 28 april and many updates Date : Mon, 22 Apr 2013 19:50:04 +0200 De : Organisation of EuroScipy <eur...@py...> Pour : Organisation of EuroScipy <eur...@py...> Dear Scientist using Python, EuroSciPy is the European Conference on Python in Science. The call for abstracts for oral and poster presentations for EuroSciPy 2013 closes at the end of this week, on 28 april. We welcome your applications via our website https://www.euroscipy.org/. As a reminder, our keynote speakers are Cameron Neylon (Public Library of Science) and Peter Wang (Continuum Analytics). Find more below! Tutorials, sprints, focus issue of the journal "Computational Science and Discovery" (IOP), proceedings and participant support! We are glad to announce that the tutorial program is online at https://www.euroscipy.org/schedule/tutorials/. As usual, our tutorial speakers will cover all the basics in a beginner track and many powerful tools in the advanced track. Three sprints will be organized on the day following the conference: Python visualization, Sage: Open Source Mathematics Software and NumPy and SciPy. More information at https://www.euroscipy.org/program/sprints/. Contributors to EuroSciPy 2013 will benefit from two communication opportunities: 1. An invitation to submit full and original research papers to be reviewed for a focus issue (jointly with the SciPy 2013 conference) on Scientific Computing with Python in Computational Science & Discovery (CSD), IOP Publishing's electronic-only, multidisciplinary journal for the computational science community. Further details (guest editors, issue scope, submission details, etc) will be announced soon. 2. An invitation to submit their contribution as a paper for the EuroSciPy 2013 proceedings that will be published. Further details will be announced soon. Thanks to NumFOCUS and PySV, travel support will be provided to a small number of students/participants based on their contribution to the conference and/or to the scientific Python tools. More information will follow during the registration period. SciPythonic Regards, The EuroSciPy 2013 Committee ********************** Dr Thomas Lecocq Geologist Royal Observatory of Belgium - Seismology - ********************** |
From: Werner F. B. <wer...@fr...> - 2013-04-27 22:21:33
|
Hi Michael, On 26/04/2013 14:40, Michael Droettboom wrote: > On 04/26/2013 02:57 AM, Werner F. Bruhin wrote: >> Hi, >> >> Anyone can provide some info on what "agg.buffer_rgba" returns and maybe >> even some suggestion on how to resolve this issue in the wxagg backend. > It returns a Python buffer object on Python 2, though on Python 3 it is > a memoryview, since buffer was deprecated. Perhaps wx is also doing > something different depending on the version of Python. As of Phoenix 2.9.5.81-r73873 matplot works with Phoenix, here is Robin Dunn's comment to the change he did on Phoenix with regards to the buffer handling. Quote The new buffer APIs go as far back as 2.6, IIRC, and the memoryview and bytearray object types are available in 2.7 in addition to 3.x and that I what I'm using in Phoenix. I would have expected MPL to do so also since numpy is an integral part of MPL and the new buffer interface was basically designed for and by numpy... Anyway, while double checking all this I realized that it would not be hard for me to accept old or new buffer objects for source buffers (I'll still use memoryviews or bytearrays when on the producer side of things) so try again after the next snapshot build. My unittests with array.arrrays started working after the change so I expect that MPL's rgba buffer should work too. EndQuote Enclosed is the patch for backend_wx.py and for embedding_in_wx5.py which I used for testing, in the later I use wxversion.select to force selection of a particular version - I think the distribution should still just use ensureMinimal. FYI, documentation for wxPython Phoenix are here: http://wxpython.org/Phoenix/docs/html/index.html And snapshots can be found here: http://wxpython.org/Phoenix/snapshot-builds/ I tested only on Python 2.7.2 on Windows 7. Werner |
From: john c. <joh...@gm...> - 2013-04-26 18:30:15
|
Filipe Pires Alvarenga Fernandes <ocefpaf@...> writes: > > Yep, that's what I was expecting. It should fail with both show() and > the save as 'png' format. However, it only fails when trying to save > an 'eps' > > -Filipe > > On Mon, May 7, 2012 at 1:12 PM, Benjamin Root <ben.root <at> ou.edu> wrote: > > On Mon, May 7, 2012 at 12:55 PM, Michael Droettboom <mdroe <at> stsci.edu> wrote: > >> > >> That's not a bug. linewidth is required to be a float, rather than a > >> string. Python's typing is generally a little stricter than languages > >> such as JavaScript. > >> > >> Mike > >> > > > > I think the bigger question is why does it _work_ with show()? I would > > expect it to fail. I would rather have it fail everywhere or work > > everywhere. > > > > Ben Root > > > > > > > > ------------------------------------------------------------------------ ------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > _______________________________________________ > > Matplotlib-users mailing list > > Matplotlib-users <at> lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -------------------------------------------------------------------------- ---- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users <at> lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > I came upon this thread after a lot of time messing with savefig. I was trying to get images in some vector format and was specifying linewidth as a string. Thanks to this thread, I have my images. However, some things I noticed were: (1) This error message only appeared when I tried to save as eps; not for pdf (my preference) or svg. (2) Shouldn't the exception or warning be raised when the plot call is made (for me it was bar(...)) ? (3) using pdf and svg with savefig raised no error. However, the resulting images were corrupted. Weirdly, in the case of pdf, the only pdf reader I tried not able to render the image correctly was adobe acrobat. Even the browser plugin for adobe could do it. In the case of svg, I opened the image in imagemagick but it did not look much like it should have. |
From: Cameron H. <cam...@gm...> - 2013-04-26 18:15:09
|
I've been converting my code that used nxutils.points_inside_poly (for checking if a point is inside a polygon) to instead use path.contains_points (since the former is now deprecated). After reading the docs about creating Path objects, I thought I understood that I needed to supply the first vertex of the polygon twice - at the start of the array and at the end of the array, and that I needed to set the 'closed' argument to True in order to get the Path for a polygon. But when I created Paths like that, I always seemed to get an array of all False's from path.contains_points. Looking at the source code for the nxutils.points_inside_poly wrapper, I see that it creates Path's by just passing the polygon vertices (without the extra vertex at the end) and without the 'closed' flag. And the Path's created this way work correctly with path.contains_points. Here's example code: verts1 = [(0,0), (0,1), (1,1), (1,0)] verts2 = [(0,0), (0,1), (1,1), (1,0), (0,0)] path1 = Path(verts1) path2 = Path(verts2, closed=True) >>> path1 Path([[ 0. 0.] [ 0. 1.] [ 1. 1.] [ 1. 0.]], None) >>> path2 Path([[ 0. 0.] [ 0. 1.] [ 1. 1.] [ 1. 0.] [ 0. 0.]], [ 1 2 2 2 79]) points = [(0.5,0.5), (1.5,0.5)] >>> path1.contains_points(points) array([ True, False], dtype=bool) >>> path2.contains_points(points) array([False, False], dtype=bool) The problem seems to occur when some of the points are inside and some are not. If all of the points are inside, it works fine: points = [(0.5,0.5), (0.51,0.51)] >>> path2.contains_points(points) array([ True, True], dtype=bool) -- Cameron Hayne cam...@gm... |
From: Brendan B. <bre...@br...> - 2013-04-26 17:56:35
|
On 2013-04-26 08:31, Sterling Smith wrote: > Notwithstanding these probably work (I haven't tried), my gut reaction would have been to color the edges the same as the face, although I don't know if you can give set_edgecolor the same cmap(colors_norm) argument. I think you can set the edgecolor equal to the string 'face' to make it use the facecolor. -- Brendan Barnwell "Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail." --author unknown |
From: Jody K. <jk...@uv...> - 2013-04-26 17:34:39
|
Hi Mat, On Apr 26, 2013, at 3:03 AM, Mathew Topper <mat...@ed...> wrote: > I have a set of wave directions in lon lat, Not clear how a direction is given as a lon lat. Do you mean you have a set of vectors, each defined as lon/lat pairs? > but I want to display them > in a UTM type projection. I believe the directions will be distorted, > but I'm not sure by how much. It depends on what you want - if you want the arrow to point where the wind would go after X minutes, then you want the "distortion". If you want the viewer to be able to pick off the geographic heading by eye, then simply convert your lon lat pairs to heading/length pairs and plot them in the axis frame. See http://matplotlib.org/basemap/users/mapcoords.html for how to convert from basemap to the underlying axis frame. In an ideal world your projection would not be over such a large area that any of this matters - if your vector is off by 1 degree, who will be able to tell in a plot? Cheers, Jody -- Jody Klymak http://web.uvic.ca/~jklymak/ |
From: Goyo <goy...@gm...> - 2013-04-26 16:29:33
|
2013/4/26 Chad Parker <par...@gm...> > Hi all- > > I've been working on a plot that puts the bottom and right spines at zero > (adapting some code from the example at > http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html) > , and I've discovered that setting the position of the right spine to > 'zero' seems to locate it at x=1. > > Is this a bug? Or is there something that I'm missing? > It looks like a bug to me, set_position('data', x) puts the spine at x + 1 instead of x. Goyo |
From: Hackstein <new...@gm...> - 2013-04-26 15:39:56
|
Ryan, thank you very much, it works and it's exaclty how I needed it to look like! Cheers, |
From: Sterling S. <sm...@fu...> - 2013-04-26 15:31:14
|
Notwithstanding these probably work (I haven't tried), my gut reaction would have been to color the edges the same as the face, although I don't know if you can give set_edgecolor the same cmap(colors_norm) argument. -Sterling On Apr 26, 2013, at 5:30AM, Ryan Nelson wrote: > Hackstein, > > Francesco's suggestion works for me. > col.set_edgecolor( 'none' ) > > You can also set the linewidth to be 0. > col.set_linewidth( 0 ) |
From: Michael D. <md...@st...> - 2013-04-26 12:45:07
|
On 04/26/2013 02:57 AM, Werner F. Bruhin wrote: > Hi, > > Anyone can provide some info on what "agg.buffer_rgba" returns and maybe > even some suggestion on how to resolve this issue in the wxagg backend. It returns a Python buffer object on Python 2, though on Python 3 it is a memoryview, since buffer was deprecated. Perhaps wx is also doing something different depending on the version of Python. > > Thanks > Werner > > P.S. > The archive on Sourceforge for this list stops in June 2012, noticed > this as I wanted to check if there are answers I didn't get for some reason. > http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users Yeah -- I've reported that to sourceforge many times. Not sure what the issue is. Personally, I use gmane when I need to search the archive and it works rather well. Mike > > On 20/04/2013 08:58, Werner F. Bruhin wrote: >> Hi, >> >> I am trying to get matplotlib 1.2.0 to work with wxPython Phoenix - will >> provide a patch when it is working. >> >> Made the changes to backend_wx* for things like EmptyImage/EmptyBitmap >> and Toolbar but I am stuck on the following. >> >> if bbox is None: >> # agg => rgba buffer -> bitmap >> if 'phoenix' in wx.PlatformInfo: >> return wx.Bitmap.FromBufferRGBA(int(agg.width), >> int(agg.height), >> memoryview(agg.buffer_rgba())) >> else: >> return wx.BitmapFromBufferRGBA(int(agg.width), int(agg.height), >> agg.buffer_rgba()) >> else: >> # agg => rgba buffer -> bitmap => clipped bitmap >> return _WX28_clipped_agg_as_bitmap(agg, bbox) >> >> TypeError: cannot make memory view because object does not have the >> buffer interface >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in >> <module> >> demo() >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo >> app.MainLoop() >> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", >> line 1841, in MainLoop >> rv = wx.PyApp.MainLoop(self) >> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", >> line 1209, in _onPaint >> self.draw(drawDC=drawDC) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 61, in draw >> self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 173, in _convert_agg_to_wx_bitmap >> memoryview(agg.buffer_rgba())) >> >> I tried using "memoryview" based on a suggestion by Robin Dunn, and >> based on the following info I see in the debugger that should work no? >> >> agg.buffer_rgba() >> <read-write buffer ptr 0x05400638, size 229200 at 0x055FC680> >> type(agg.buffer_rgba()) >> <type 'buffer'> >> agg >> <matplotlib.backends.backend_agg.RendererAgg instance at 0x04BA0670> >> >> If I don't use "memoryview" (which would probably be preferred) I get >> the following exception. >> >> Can someone help us figure this one out. >> >> Thanks >> Werner >> >> >> TypeError: Bitmap.FromBufferRGBA(): argument 3 has unexpected type 'buffer' >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in >> <module> >> demo() >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo >> app.MainLoop() >> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", >> line 1841, in MainLoop >> rv = wx.PyApp.MainLoop(self) >> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", >> line 1209, in _onPaint >> self.draw(drawDC=drawDC) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 61, in draw >> self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 173, in _convert_agg_to_wx_bitmap >> agg.buffer_rgba()) >> >> ------------------------------------------------------------------------------ >> Precog is a next-generation analytics platform capable of advanced >> analytics on semi-structured data. The platform includes APIs for building >> apps and a phenomenal toolset for data science. Developers can use >> our toolset for easy data analysis & visualization. Get a free account! >> http://www2.precog.com/precogplatform/slashdotnewsletter >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Ryan N. <rne...@gm...> - 2013-04-26 12:30:52
|
Hackstein, Francesco's suggestion works for me. col.set_edgecolor( 'none' ) You can also set the linewidth to be 0. col.set_linewidth( 0 ) Colorbars in these cases can be more painful than you might like. You need to make a mappable object and pass that into a figure.colorbar call. Rather than try to explain it in detail, I've just pasted a modified version of my first script that should do what you need. Glad we're getting closer. Ryan ######################## import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from matplotlib.collections import PatchCollection n = 100 # Get your xy data points, which are the centers of the rectangles. xy = np.random.rand(n,2) # Set a fixed height height = 0.02 # The variable widths of the rectangles widths = np.random.rand(n)*0.1 # Get a color map and make some colors cmap = plt.cm.hsv colors = np.random.rand(n)*10. # Make a normalized array of colors colors_norm = colors/colors.max() # Here's where you have to make a ScalarMappable with the colormap mappable = plt.cm.ScalarMappable(cmap=cmap) # Give it your non-normalized color data mappable.set_array(colors) rects = [] for p, w in zip(xy, widths): xpos = p[0] - w/2 # The x position will be half the width from the center ypos = p[1] - height/2 # same for the y position, but with height rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle rects.append(rect) # Add the rectangle patch to our list # Create a collection from the rectangles col = PatchCollection(rects) # set the alpha for all rectangles col.set_alpha(0.3) # Set the colors using the colormap col.set_facecolor( cmap(colors_norm) ) # No lines col.set_linewidth( 0 ) #col.set_edgecolor( 'none' ) # Make a figure and add the collection to the axis. fig = plt.figure() ax = fig.add_subplot(111) ax.add_collection(col) # Add your ScalarMappable to a figure colorbar fig.colorbar(mappable) plt.show() ######################## On 4/26/2013 7:15 AM, Hackstein wrote: > Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems: > The markers have a black edges, that I cannot get rid of. I've tried > > rect = Rectangle(..., ec=None) > > and also > > col.set=edgecolor(None) > > and 'None', respectively, both with no effect whatsoever. > > The second problem is, that I cannot get the colorbar to work. > I tried > > sc = ax.add_collection(col) > plt.colorbar(sc) > > and > > plt.colobar(col) > > both do not work. > Any Ideas how to fix those two issues? > > Thanks, > > -Hackstein > > >> Message: 4 >> Date: Thu, 25 Apr 2013 19:44:23 -0400 >> From: Ryan Nelson <rne...@gm...> >> Subject: Re: [Matplotlib-users] Individual custom markers and colorbar >> To: mat...@li... >> Message-ID: <517...@gm...> >> Content-Type: text/plain; charset="iso-8859-1" >> >> Hackstein, >> >> Unfortunately, I'm not sure of an 'elegant' way to do what your asking >> with a single call to scatter. Others may know a better way. However, >> you can use rectangle patches and patch collections. (Requires a bit >> more code than scatter but is ultimately more flexible.) >> >> I think the example below does what you need, but with random numbers. >> >> Hope it helps a little. >> >> Ryan >> >> ####################### >> import numpy as np >> import matplotlib.pyplot as plt >> from matplotlib.patches import Rectangle >> from matplotlib.collections import PatchCollection >> >> n = 100 >> >> # Get your xy data points, which are the centers of the rectangles. >> xy = np.random.rand(n,2) >> >> # Set a fixed height >> height = 0.02 >> # The variable widths of the rectangles >> widths = np.random.rand(n)*0.1 >> >> # Get a color map and color values (normalized between 0 and 1) >> cmap = plt.cm.jet >> colors = np.random.rand(n) >> >> rects = [] >> for p, w, c in zip(xy, widths, colors): >> xpos = p[0] - w/2 # The x position will be half the width from the >> center >> ypos = p[1] - height/2 # same for the y position, but with height >> rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle >> rects.append(rect) # Add the rectangle patch to our list >> >> # Create a collection from the rectangles >> col = PatchCollection(rects) >> # set the alpha for all rectangles >> col.set_alpha(0.3) >> # Set the colors using the colormap >> col.set_facecolor( cmap(colors) ) >> >> # Make a figure and add the collection to the axis. >> ax = plt.subplot(111) >> ax.add_collection(col) >> plt.show() >> >> ############################### >> >> >> On 4/24/2013 5:35 PM, Hackstein wrote: >>> Hi all, >>> >>> I am trying to get a scatter plot using a colormap. Additionally, I >>> need to define every marker for every data point individually -- each >>> being a rectangle with fixed height but varying width as a function of >>> the y-value. X and y being the data coordinates, z being a number to >>> be color coded with the colormap. >>> >>> Ideally, I would like to create a list of width and height values for >>> each data point and tell the scatter plot to use those. >>> >>> So far I got colormapped data with custom markers (simplified): >>> >>> [code] >>> >>> import numpy as np >>> >>> import matplotlib.pyplot as plt >>> >>> from pylab import * >>> >>> x = y = [1,2,3,4,5] >>> >>> z = [2,4,6,8,10] >>> >>> colors = cm.gnuplot2 >>> >>> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.])) >>> >>> fig = plt.figure(1, figsize=(14.40, 9.00)) >>> >>> ax = fig.add_subplot(1,1,1) >>> >>> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None', >>> verts=verts_vec, cmap=colors, alpha=1.) >>> >>> plt.colorbar(sc, orientation='horizontal') >>> >>> plt.savefig('test.png', dpi=200) >>> >>> plt.close(1) >>> >>> [/code] >>> >>> But I need to define a marker size for each point, and I also need to >>> do that in axis scale values, not in points. >>> >>> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N >>> being len(x), to define N individual markers. >>> >>> But when doing that I get the error that vertices.ndim==2. >>> >>> A less elegant way would be to plot every data point in an individual >>> scatter plot function, using a for-loop iterating over all data >>> points. Then, however, I see no way to apply a colormap and colorbar. >>> >>> What is the best way to accomplish that then? >>> >>> Thanks, >>> >>> -Hackstein >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Try New Relic Now & We'll Send You this Cool Shirt >>> New Relic is the only SaaS-based application performance monitoring service >>> that delivers powerful full stack analytics. Optimize and monitor your >>> browser, app, & servers with just a few lines of code. Try New Relic >>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >>> >>> >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> >> ------------------------------ >> >> ------------------------------------------------------------------------------ >> Try New Relic Now & We'll Send You this Cool Shirt >> New Relic is the only SaaS-based application performance monitoring service >> that delivers powerful full stack analytics. Optimize and monitor your >> browser, app, & servers with just a few lines of code. Try New Relic >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >> >> ------------------------------ >> >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> >> End of Matplotlib-users Digest, Vol 83, Issue 23 >> ************************************************ > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Hackstein <new...@gm...> - 2013-04-26 12:19:06
|
Thanks, Francesco, but I already tried for both and that doesn't work either. Cheers, Am 26.04.2013 um 14:07 schrieb Francesco Montesano <fra...@gm...>: > > Il giorno 26/apr/2013 13:16, "Hackstein" <new...@gm...> ha scritto: > > > > Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems: > > The markers have a black edges, that I cannot get rid of. I've tried > > > > rect = Rectangle(..., ec=None) > > > > and also > > > > col.set=edgecolor(None) > > I think that you have to use the string 'none' instead of None type. The latter is used to use the default value for the variable (in you case black). > > cheers > Francesco > > > > and 'None', respectively, both with no effect whatsoever. > > > > The second problem is, that I cannot get the colorbar to work. > > I tried > > > > sc = ax.add_collection(col) > > plt.colorbar(sc) > > > > and > > > > plt.colobar(col) > > > > both do not work. > > Any Ideas how to fix those two issues? > > > > Thanks, > > > > -Hackstein > > > > > > > Message: 4 > > > Date: Thu, 25 Apr 2013 19:44:23 -0400 > > > From: Ryan Nelson <rne...@gm...> > > > Subject: Re: [Matplotlib-users] Individual custom markers and colorbar > > > To: mat...@li... > > > Message-ID: <517...@gm...> > > > Content-Type: text/plain; charset="iso-8859-1" > > > > > > Hackstein, > > > > > > Unfortunately, I'm not sure of an 'elegant' way to do what your asking > > > with a single call to scatter. Others may know a better way. However, > > > you can use rectangle patches and patch collections. (Requires a bit > > > more code than scatter but is ultimately more flexible.) > > > > > > I think the example below does what you need, but with random numbers. > > > > > > Hope it helps a little. > > > > > > Ryan > > > > > > ####################### > > > import numpy as np > > > import matplotlib.pyplot as plt > > > from matplotlib.patches import Rectangle > > > from matplotlib.collections import PatchCollection > > > > > > n = 100 > > > > > > # Get your xy data points, which are the centers of the rectangles. > > > xy = np.random.rand(n,2) > > > > > > # Set a fixed height > > > height = 0.02 > > > # The variable widths of the rectangles > > > widths = np.random.rand(n)*0.1 > > > > > > # Get a color map and color values (normalized between 0 and 1) > > > cmap = plt.cm.jet > > > colors = np.random.rand(n) > > > > > > rects = [] > > > for p, w, c in zip(xy, widths, colors): > > > xpos = p[0] - w/2 # The x position will be half the width from the > > > center > > > ypos = p[1] - height/2 # same for the y position, but with height > > > rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle > > > rects.append(rect) # Add the rectangle patch to our list > > > > > > # Create a collection from the rectangles > > > col = PatchCollection(rects) > > > # set the alpha for all rectangles > > > col.set_alpha(0.3) > > > # Set the colors using the colormap > > > col.set_facecolor( cmap(colors) ) > > > > > > # Make a figure and add the collection to the axis. > > > ax = plt.subplot(111) > > > ax.add_collection(col) > > > plt.show() > > > > > > ############################### > > > > > > > > > On 4/24/2013 5:35 PM, Hackstein wrote: > > >> > > >> Hi all, > > >> > > >> I am trying to get a scatter plot using a colormap. Additionally, I > > >> need to define every marker for every data point individually -- each > > >> being a rectangle with fixed height but varying width as a function of > > >> the y-value. X and y being the data coordinates, z being a number to > > >> be color coded with the colormap. > > >> > > >> Ideally, I would like to create a list of width and height values for > > >> each data point and tell the scatter plot to use those. > > >> > > >> So far I got colormapped data with custom markers (simplified): > > >> > > >> [code] > > >> > > >> import numpy as np > > >> > > >> import matplotlib.pyplot as plt > > >> > > >> from pylab import * > > >> > > >> x = y = [1,2,3,4,5] > > >> > > >> z = [2,4,6,8,10] > > >> > > >> colors = cm.gnuplot2 > > >> > > >> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.])) > > >> > > >> fig = plt.figure(1, figsize=(14.40, 9.00)) > > >> > > >> ax = fig.add_subplot(1,1,1) > > >> > > >> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None', > > >> verts=verts_vec, cmap=colors, alpha=1.) > > >> > > >> plt.colorbar(sc, orientation='horizontal') > > >> > > >> plt.savefig('test.png', dpi=200) > > >> > > >> plt.close(1) > > >> > > >> [/code] > > >> > > >> But I need to define a marker size for each point, and I also need to > > >> do that in axis scale values, not in points. > > >> > > >> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N > > >> being len(x), to define N individual markers. > > >> > > >> But when doing that I get the error that vertices.ndim==2. > > >> > > >> A less elegant way would be to plot every data point in an individual > > >> scatter plot function, using a for-loop iterating over all data > > >> points. Then, however, I see no way to apply a colormap and colorbar. > > >> > > >> What is the best way to accomplish that then? > > >> > > >> Thanks, > > >> > > >> -Hackstein > > >> > > >> > > >> > > >> ------------------------------------------------------------------------------ > > >> Try New Relic Now & We'll Send You this Cool Shirt > > >> New Relic is the only SaaS-based application performance monitoring service > > >> that delivers powerful full stack analytics. Optimize and monitor your > > >> browser, app, & servers with just a few lines of code. Try New Relic > > >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > >> > > >> > > >> _______________________________________________ > > >> Matplotlib-users mailing list > > >> Mat...@li... > > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > -------------- next part -------------- > > > An HTML attachment was scrubbed... > > > > > > ------------------------------ > > > > > > ------------------------------------------------------------------------------ > > > Try New Relic Now & We'll Send You this Cool Shirt > > > New Relic is the only SaaS-based application performance monitoring service > > > that delivers powerful full stack analytics. Optimize and monitor your > > > browser, app, & servers with just a few lines of code. Try New Relic > > > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > > > > > ------------------------------ > > > > > > _______________________________________________ > > > Matplotlib-users mailing list > > > Mat...@li... > > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > > > > End of Matplotlib-users Digest, Vol 83, Issue 23 > > > ************************************************ > > > > ------------------------------------------------------------------------------ > > Try New Relic Now & We'll Send You this Cool Shirt > > New Relic is the only SaaS-based application performance monitoring service > > that delivers powerful full stack analytics. Optimize and monitor your > > browser, app, & servers with just a few lines of code. Try New Relic > > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Francesco M. <fra...@gm...> - 2013-04-26 12:07:22
|
Il giorno 26/apr/2013 13:16, "Hackstein" <new...@gm...> ha scritto: > > Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems: > The markers have a black edges, that I cannot get rid of. I've tried > > rect = Rectangle(..., ec=None) > > and also > > col.set=edgecolor(None) I think that you have to use the string 'none' instead of None type. The latter is used to use the default value for the variable (in you case black). cheers Francesco > > and 'None', respectively, both with no effect whatsoever. > > The second problem is, that I cannot get the colorbar to work. > I tried > > sc = ax.add_collection(col) > plt.colorbar(sc) > > and > > plt.colobar(col) > > both do not work. > Any Ideas how to fix those two issues? > > Thanks, > > -Hackstein > > > > Message: 4 > > Date: Thu, 25 Apr 2013 19:44:23 -0400 > > From: Ryan Nelson <rne...@gm...> > > Subject: Re: [Matplotlib-users] Individual custom markers and colorbar > > To: mat...@li... > > Message-ID: <517...@gm...> > > Content-Type: text/plain; charset="iso-8859-1" > > > > Hackstein, > > > > Unfortunately, I'm not sure of an 'elegant' way to do what your asking > > with a single call to scatter. Others may know a better way. However, > > you can use rectangle patches and patch collections. (Requires a bit > > more code than scatter but is ultimately more flexible.) > > > > I think the example below does what you need, but with random numbers. > > > > Hope it helps a little. > > > > Ryan > > > > ####################### > > import numpy as np > > import matplotlib.pyplot as plt > > from matplotlib.patches import Rectangle > > from matplotlib.collections import PatchCollection > > > > n = 100 > > > > # Get your xy data points, which are the centers of the rectangles. > > xy = np.random.rand(n,2) > > > > # Set a fixed height > > height = 0.02 > > # The variable widths of the rectangles > > widths = np.random.rand(n)*0.1 > > > > # Get a color map and color values (normalized between 0 and 1) > > cmap = plt.cm.jet > > colors = np.random.rand(n) > > > > rects = [] > > for p, w, c in zip(xy, widths, colors): > > xpos = p[0] - w/2 # The x position will be half the width from the > > center > > ypos = p[1] - height/2 # same for the y position, but with height > > rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle > > rects.append(rect) # Add the rectangle patch to our list > > > > # Create a collection from the rectangles > > col = PatchCollection(rects) > > # set the alpha for all rectangles > > col.set_alpha(0.3) > > # Set the colors using the colormap > > col.set_facecolor( cmap(colors) ) > > > > # Make a figure and add the collection to the axis. > > ax = plt.subplot(111) > > ax.add_collection(col) > > plt.show() > > > > ############################### > > > > > > On 4/24/2013 5:35 PM, Hackstein wrote: > >> > >> Hi all, > >> > >> I am trying to get a scatter plot using a colormap. Additionally, I > >> need to define every marker for every data point individually -- each > >> being a rectangle with fixed height but varying width as a function of > >> the y-value. X and y being the data coordinates, z being a number to > >> be color coded with the colormap. > >> > >> Ideally, I would like to create a list of width and height values for > >> each data point and tell the scatter plot to use those. > >> > >> So far I got colormapped data with custom markers (simplified): > >> > >> [code] > >> > >> import numpy as np > >> > >> import matplotlib.pyplot as plt > >> > >> from pylab import * > >> > >> x = y = [1,2,3,4,5] > >> > >> z = [2,4,6,8,10] > >> > >> colors = cm.gnuplot2 > >> > >> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.])) > >> > >> fig = plt.figure(1, figsize=(14.40, 9.00)) > >> > >> ax = fig.add_subplot(1,1,1) > >> > >> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None', > >> verts=verts_vec, cmap=colors, alpha=1.) > >> > >> plt.colorbar(sc, orientation='horizontal') > >> > >> plt.savefig('test.png', dpi=200) > >> > >> plt.close(1) > >> > >> [/code] > >> > >> But I need to define a marker size for each point, and I also need to > >> do that in axis scale values, not in points. > >> > >> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N > >> being len(x), to define N individual markers. > >> > >> But when doing that I get the error that vertices.ndim==2. > >> > >> A less elegant way would be to plot every data point in an individual > >> scatter plot function, using a for-loop iterating over all data > >> points. Then, however, I see no way to apply a colormap and colorbar. > >> > >> What is the best way to accomplish that then? > >> > >> Thanks, > >> > >> -Hackstein > >> > >> > >> > >> ------------------------------------------------------------------------------ > >> Try New Relic Now & We'll Send You this Cool Shirt > >> New Relic is the only SaaS-based application performance monitoring service > >> that delivers powerful full stack analytics. Optimize and monitor your > >> browser, app, & servers with just a few lines of code. Try New Relic > >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > >> > >> > >> _______________________________________________ > >> Matplotlib-users mailing list > >> Mat...@li... > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > > > ------------------------------ > > > > ------------------------------------------------------------------------------ > > Try New Relic Now & We'll Send You this Cool Shirt > > New Relic is the only SaaS-based application performance monitoring service > > that delivers powerful full stack analytics. Optimize and monitor your > > browser, app, & servers with just a few lines of code. Try New Relic > > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > > > ------------------------------ > > > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > End of Matplotlib-users Digest, Vol 83, Issue 23 > > ************************************************ > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Chad P. <par...@gm...> - 2013-04-26 11:35:09
|
Hi all- I've been working on a plot that puts the bottom and right spines at zero (adapting some code from the example at http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html) , and I've discovered that setting the position of the right spine to 'zero' seems to locate it at x=1. Is this a bug? Or is there something that I'm missing? Thanks, --Chad P.S. Sorry if this is duplicated... it seems that my messages aren't getting though to the list. Here's an example that demonstrates the behavior: import matplotlib.pyplot as plt f=plt.figure(1) ax=plt.subplot(111) ax.spines['left'].set_color('none') ax.spines['top'].set_color('none') ax.spines['right'].set_position('zero') ax.spines['bottom'].set_position('zero') ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('right') ax.set_xlim([-2,2]) ax.set_ylim([-2,2]) plt.show() |
From: Hackstein <new...@gm...> - 2013-04-26 11:15:10
|
Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems: The markers have a black edges, that I cannot get rid of. I've tried rect = Rectangle(..., ec=None) and also col.set=edgecolor(None) and 'None', respectively, both with no effect whatsoever. The second problem is, that I cannot get the colorbar to work. I tried sc = ax.add_collection(col) plt.colorbar(sc) and plt.colobar(col) both do not work. Any Ideas how to fix those two issues? Thanks, -Hackstein > Message: 4 > Date: Thu, 25 Apr 2013 19:44:23 -0400 > From: Ryan Nelson <rne...@gm...> > Subject: Re: [Matplotlib-users] Individual custom markers and colorbar > To: mat...@li... > Message-ID: <517...@gm...> > Content-Type: text/plain; charset="iso-8859-1" > > Hackstein, > > Unfortunately, I'm not sure of an 'elegant' way to do what your asking > with a single call to scatter. Others may know a better way. However, > you can use rectangle patches and patch collections. (Requires a bit > more code than scatter but is ultimately more flexible.) > > I think the example below does what you need, but with random numbers. > > Hope it helps a little. > > Ryan > > ####################### > import numpy as np > import matplotlib.pyplot as plt > from matplotlib.patches import Rectangle > from matplotlib.collections import PatchCollection > > n = 100 > > # Get your xy data points, which are the centers of the rectangles. > xy = np.random.rand(n,2) > > # Set a fixed height > height = 0.02 > # The variable widths of the rectangles > widths = np.random.rand(n)*0.1 > > # Get a color map and color values (normalized between 0 and 1) > cmap = plt.cm.jet > colors = np.random.rand(n) > > rects = [] > for p, w, c in zip(xy, widths, colors): > xpos = p[0] - w/2 # The x position will be half the width from the > center > ypos = p[1] - height/2 # same for the y position, but with height > rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle > rects.append(rect) # Add the rectangle patch to our list > > # Create a collection from the rectangles > col = PatchCollection(rects) > # set the alpha for all rectangles > col.set_alpha(0.3) > # Set the colors using the colormap > col.set_facecolor( cmap(colors) ) > > # Make a figure and add the collection to the axis. > ax = plt.subplot(111) > ax.add_collection(col) > plt.show() > > ############################### > > > On 4/24/2013 5:35 PM, Hackstein wrote: >> >> Hi all, >> >> I am trying to get a scatter plot using a colormap. Additionally, I >> need to define every marker for every data point individually -- each >> being a rectangle with fixed height but varying width as a function of >> the y-value. X and y being the data coordinates, z being a number to >> be color coded with the colormap. >> >> Ideally, I would like to create a list of width and height values for >> each data point and tell the scatter plot to use those. >> >> So far I got colormapped data with custom markers (simplified): >> >> [code] >> >> import numpy as np >> >> import matplotlib.pyplot as plt >> >> from pylab import * >> >> x = y = [1,2,3,4,5] >> >> z = [2,4,6,8,10] >> >> colors = cm.gnuplot2 >> >> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.])) >> >> fig = plt.figure(1, figsize=(14.40, 9.00)) >> >> ax = fig.add_subplot(1,1,1) >> >> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None', >> verts=verts_vec, cmap=colors, alpha=1.) >> >> plt.colorbar(sc, orientation='horizontal') >> >> plt.savefig('test.png', dpi=200) >> >> plt.close(1) >> >> [/code] >> >> But I need to define a marker size for each point, and I also need to >> do that in axis scale values, not in points. >> >> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N >> being len(x), to define N individual markers. >> >> But when doing that I get the error that vertices.ndim==2. >> >> A less elegant way would be to plot every data point in an individual >> scatter plot function, using a for-loop iterating over all data >> points. Then, however, I see no way to apply a colormap and colorbar. >> >> What is the best way to accomplish that then? >> >> Thanks, >> >> -Hackstein >> >> >> >> ------------------------------------------------------------------------------ >> Try New Relic Now & We'll Send You this Cool Shirt >> New Relic is the only SaaS-based application performance monitoring service >> that delivers powerful full stack analytics. Optimize and monitor your >> browser, app, & servers with just a few lines of code. Try New Relic >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr >> >> >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > ------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > End of Matplotlib-users Digest, Vol 83, Issue 23 > ************************************************ |
From: Nils W. <ni...@go...> - 2013-04-26 10:31:34
|
Hi Michael, Great. Now it works fine for me. Nils On 4/25/13, Michael Droettboom <md...@st...> wrote: > I believe this PR fixes this bug: > > https://github.com/matplotlib/matplotlib/pull/1884 > > I had been waiting for the original poster to confirm before merging, > but I think I'll go ahead and do this anyway at this point. > > Mike > > On 04/23/2013 02:57 PM, Nils Wagner wrote: >> Hi all, >> >> I cannot install matplotlib. Please find enclosed the logfile of >> python setup.py install --prefix=$HOME/local >& log.txt >> >> Any idea how to resolve the problem is appreciated. >> >> Thanks in advance. >> Nils >> >> >> >> ------------------------------------------------------------------------------ >> Try New Relic Now & We'll Send You this Cool Shirt >> New Relic is the only SaaS-based application performance monitoring >> service >> that delivers powerful full stack analytics. Optimize and monitor your >> browser, app, & servers with just a few lines of code. Try New Relic >> and get this awesome Nerd Life shirt! >> http://p.sf.net/sfu/newrelic_d2d_apr >> >> >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Mathew T. <mat...@ed...> - 2013-04-26 10:03:17
|
Dear all, I have a set of wave directions in lon lat, but I want to display them in a UTM type projection. I believe the directions will be distorted, but I'm not sure by how much. Does anyone know of a method for calculating new directions under a projection change? Thanks again for your help, Mat -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King’s Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mat...@ed... <mailto:mat...@ed...> http://www.see.ed.ac.uk <http://www.see.ed.ac.uk/> The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |
From: Werner F. B. <wer...@fr...> - 2013-04-26 06:55:39
|
Hi, Anyone can provide some info on what "agg.buffer_rgba" returns and maybe even some suggestion on how to resolve this issue in the wxagg backend. Thanks Werner P.S. The archive on Sourceforge for this list stops in June 2012, noticed this as I wanted to check if there are answers I didn't get for some reason. http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users On 20/04/2013 08:58, Werner F. Bruhin wrote: > Hi, > > I am trying to get matplotlib 1.2.0 to work with wxPython Phoenix - will > provide a patch when it is working. > > Made the changes to backend_wx* for things like EmptyImage/EmptyBitmap > and Toolbar but I am stuck on the following. > > if bbox is None: > # agg => rgba buffer -> bitmap > if 'phoenix' in wx.PlatformInfo: > return wx.Bitmap.FromBufferRGBA(int(agg.width), > int(agg.height), > memoryview(agg.buffer_rgba())) > else: > return wx.BitmapFromBufferRGBA(int(agg.width), int(agg.height), > agg.buffer_rgba()) > else: > # agg => rgba buffer -> bitmap => clipped bitmap > return _WX28_clipped_agg_as_bitmap(agg, bbox) > > TypeError: cannot make memory view because object does not have the > buffer interface > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in > <module> > demo() > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo > app.MainLoop() > File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", > line 1841, in MainLoop > rv = wx.PyApp.MainLoop(self) > File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", > line 1209, in _onPaint > self.draw(drawDC=drawDC) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 61, in draw > self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 173, in _convert_agg_to_wx_bitmap > memoryview(agg.buffer_rgba())) > > I tried using "memoryview" based on a suggestion by Robin Dunn, and > based on the following info I see in the debugger that should work no? > > agg.buffer_rgba() > <read-write buffer ptr 0x05400638, size 229200 at 0x055FC680> > type(agg.buffer_rgba()) > <type 'buffer'> > agg > <matplotlib.backends.backend_agg.RendererAgg instance at 0x04BA0670> > > If I don't use "memoryview" (which would probably be preferred) I get > the following exception. > > Can someone help us figure this one out. > > Thanks > Werner > > > TypeError: Bitmap.FromBufferRGBA(): argument 3 has unexpected type 'buffer' > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in > <module> > demo() > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo > app.MainLoop() > File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", > line 1841, in MainLoop > rv = wx.PyApp.MainLoop(self) > File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", > line 1209, in _onPaint > self.draw(drawDC=drawDC) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 61, in draw > self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 173, in _convert_agg_to_wx_bitmap > agg.buffer_rgba()) > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |