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
(2) |
3
(1) |
4
(2) |
5
(15) |
6
(12) |
7
(10) |
8
(2) |
9
(5) |
10
(5) |
11
(8) |
12
(12) |
13
(26) |
14
(10) |
15
(11) |
16
(2) |
17
(3) |
18
(19) |
19
(25) |
20
(11) |
21
(8) |
22
(8) |
23
(2) |
24
|
25
(8) |
26
(4) |
27
(2) |
28
(5) |
29
(3) |
30
(5) |
Dear all, I think this is quite easy but I searched the internet and mailing list and not able to find an answer. ax2 is an inset axes within the "ax" axes in figure "fig", which I make following here http://matplotlib.sourceforge.net/examples/pylab_examples/axes_demo.html but now my problem is that I cannot fix the ax2 the exact position I want, it seems that draw() command change this: In [352]: ax2.set_position([0.125,0.63,0.25,0.25]) ax2.set_position([0.125,0.63,0.25,0.25]) In [353]: ax2.get_position() ax2.get_position() Out[353]: Bbox(array([[ 0.125, 0.63 ], [ 0.375, 0.88 ]])) In [354]: draw() draw() In [355]: ax2.get_position() ax2.get_position() Out[355]: Bbox(array([[ 0.15625, 0.63 ], [ 0.34375, 0.88 ]])) could anyone give any hints? thanks! Chao -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************
Hi all, it seems that whenever I plot something, a window opens. from matplotlib import pylab import numpy pylab.plot(numpy.random.normal(size=100)) Now, I have code that is supposed to produce diagnostic plots as PDFs. Only when I pass a command line option the script should actually open a window and also display the results on the screen. I am pretty sure that in earlier times the window would only open when I call pylab.show(). It may well be that I messed too much with my matplotlibrc, if you could just point me in the right direction ... I use matplotlib 1.0.1 on a Mac with the MacOSX backend. Maximilian
Mark Gurling: > > I have two bar graph scripts (good.py and bad.py). ... > while in good.py the y-axis ends precisely at -30.0, in bad.py the > y-axis ends below -30.0 despite the yticks setting specified on line > 20. Is there an explanation for this behavior? How might I remedy this? What do you really want? Tony Yu tries to explain the behaviour. I would suggest using an explicit axis, e.g. plt.axis([0,0.10,-25,80]) (or between -30 and 100, or 'tight', etc.) Perhaps you wanted axis('tight') rather than your tight_layout? Jerzy Karczmarczuk
On Thu, Jun 7, 2012 at 3:44 PM, Mark Gurling <mag...@gm...> wrote: > I am on Ubuntu 11.10 > matplotlib version 1.1.0 > numpy version 1.5.1 > > I have two bar graph scripts (good.py and bad.py). Each generates a graph > that contains two bars: one bar that extends along the positive y-axis and > another bar that extends along the negative y-axis. The only difference > between the two scripts is that in good.py the positive bar extends to > 69.0, but in bad.py it extends to 70.0; however, while in good.py the > y-axis ends precisely at -30.0, in bad.py the y-axis ends below -30.0 > despite the yticks setting specified on line 20. Is there an explanation > for this behavior? How might I remedy this? > > `yticks()` just sets the ticks, which shows up correctly in both plots. It sounds like what you want to specify is the axis limit. You can add the following (e.g. after the call to `yticks`): plt.ylim(ymin=-30) As for the reason, it has to do with creating axes sizes that fit all the elements within the plot area and also allow ticks that are "nicely" spaced. You just happen to be near the threshold of two different spacings, I think. -Tony
Is it possible to clip an image like the matplotlib clip example, but by using a polycollection. I'd like to avoid looping through and creating paths/patches for each element and then combining them all at the end, is that the only way? Cheers, Alex Alexander Crosby RPS ASA 55 Village Square Drive South Kingstown, RI 02879-8248 USA Tel: +1 (401) 789-6224 Fax: +1 (401) 789-1932 Email: cr...@rp...<mailto:cr...@rp...> www: asascience.com<http://www.asascience.com/> | rpsgroup.com<http://www.rpsgroup.com/> A member of the RPS Group plc
Thank you very much. It works at last. Kamel 2012年6月7日 Tony Yu <ts...@gm...> > > On Thu, Jun 7, 2012 at 12:14 PM, kamel maths <kam...@gm...>wrote: > >> Thanks for your answers. >> >> It is not very clear for me yet. This a script I tested. >> ---------------------------------------------- >> from pylab import * >> >> fig = figure() >> ax = fig.add_subplot(111) >> ax.axis('equal') >> >> x = linspace(-2, 3, 50) >> ax.plot(x, sin(x)) >> >> ylim = ax.get_ylim() >> print(ylim) >> >> show() >> >> ylim = ax.get_ylim() >> print(ylim) >> ------------------------------------ >> With the first print, I obtain (-1,1) and with the second one, after >> having closed the figure showed, I obtain (-1.94,1.94). But I would like to >> obtain (-1.94,1.94) with the first one in order to use this data in the >> figure. >> Is it possible ? >> >> > Hi Kamel, > > (I'm recopying to the list; unfortunately, the mailing list doesn't do > this automatically) > > Well, this is strange: I swear I tested this yesterday, and I got (-1.94, > 1.94) when calling `get_ylim` before `show`. But when I test this today, I > get (-1, 1) with the call before `show`. > > I guess the initial call to `get_ylim` returns that data limits (which are > (-1, 1) in this case), but the call to `axis('equal')` results in a > rescaling at draw time. > > If you're just trying to readjust the plot before the plot blocks > execution, you can run `draw()` right before calling `get_ylim`. There may > be a better approach, though. > > -Tony > > >
On Thu, Jun 7, 2012 at 12:14 PM, kamel maths <kam...@gm...> wrote: > Thanks for your answers. > > It is not very clear for me yet. This a script I tested. > ---------------------------------------------- > from pylab import * > > fig = figure() > ax = fig.add_subplot(111) > ax.axis('equal') > > x = linspace(-2, 3, 50) > ax.plot(x, sin(x)) > > ylim = ax.get_ylim() > print(ylim) > > show() > > ylim = ax.get_ylim() > print(ylim) > ------------------------------------ > With the first print, I obtain (-1,1) and with the second one, after > having closed the figure showed, I obtain (-1.94,1.94). But I would like to > obtain (-1.94,1.94) with the first one in order to use this data in the > figure. > Is it possible ? > > Hi Kamel, (I'm recopying to the list; unfortunately, the mailing list doesn't do this automatically) Well, this is strange: I swear I tested this yesterday, and I got (-1.94, 1.94) when calling `get_ylim` before `show`. But when I test this today, I get (-1, 1) with the call before `show`. I guess the initial call to `get_ylim` returns that data limits (which are (-1, 1) in this case), but the call to `axis('equal')` results in a rescaling at draw time. If you're just trying to readjust the plot before the plot blocks execution, you can run `draw()` right before calling `get_ylim`. There may be a better approach, though. -Tony
Le jeudi 07 juin 2012 à 14:07 +0100, David Craig a écrit : > Hi, > I trying to define an area in a pcolor plot (several plots) using the > ginput(). However since it is an irregular shape and will be different > in each plot so I cant define how many points there will be before hand, > I've tried the following but it requires a double click at each point, > which I would like to avoid as it duplicates points > > |x = randn(10,10) > imshow(x) > > button = False > points = [] > while button == False: > points.append(ginput(1)) > button = waitforbuttonpress() > | > > Anyone know a better way to go about this?? > thanks > Dave ginput has a way to do it. From docs: If n is zero or negative, accumulate clicks until a middle click (or potentially both mouse buttons at once) terminates the input. http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.ginput Pressing [enter] also terminates the points acquisition. -- Fabrice Silva <si...@lm...> LMA UPR CNRS 7051
On Thu, Jun 7, 2012 at 9:07 AM, David Craig <dcd...@gm...> wrote: > Hi, > I trying to define an area in a pcolor plot (several plots) using the > ginput(). However since it is an irregular shape and will be different in > each plot so I cant define how many points there will be before hand, I've > tried the following but it requires a double click at each point, which I > would like to avoid as it duplicates points > > x = randn(10,10) > imshow(x) > > button = False > points = [] > while button == False: > points.append(ginput(1)) > button = waitforbuttonpress() > > Anyone know a better way to go about this?? > thanks > Dave > > I would utilize the event handling mechanism within mpl to do this. You can create a function that would append the xy coordinates to points at each call. Here is a mockup. def on_press(event) : on_press.points.append((event.xdata, event.ydata)) on_press.points = [] Then, you would need some way to indicate that you want to start and finish, such as some sort of key press: def key_press(event) : if event.key == 'a' : if key_press.active : key_press.mouse_cid = key_press.fig.canvas.mpl_connect('button_press_event', on_press) else : key_press.fig.canvas.mpl_disconnect(key_press.mouse_cid) key_press.active = not key_press.active key_press.active = False key_press.fig = plt.figure() key_press.fig.canvas.mpl_connect('key_press_event', key_press) There are some more elegant ways of doing this, particularly by creating some sort of object to hold these variables, but this is a quick and dirty way of doing it. I hope that helps! Ben Root
Hi, I trying to define an area in a pcolor plot (several plots) using the ginput(). However since it is an irregular shape and will be different in each plot so I cant define how many points there will be before hand, I've tried the following but it requires a double click at each point, which I would like to avoid as it duplicates points |x = randn(10,10) imshow(x) button = False points = [] while button == False: points.append(ginput(1)) button = waitforbuttonpress() | Anyone know a better way to go about this?? thanks Dave
On Wed, Jun 6, 2012 at 6:12 PM, Tony Yu <ts...@gm...> wrote: > > > On Wed, Jun 6, 2012 at 3:32 PM, kamel maths <kam...@gm...> wrote: > >> Hi, >> >> for this script: >> ------------------------------------ >> from pylab import * >> >> fig = figure() >> ax = fig.add_subplot(111) >> ax.axis('equal') >> >> x = linspace(-2, 3, 50) >> ax.plot(x, sin(x)) >> >> show() >> --------------------------------- >> If I try to get ymax with ax.get_ylim(), i obtain 1.0 whereas I observe >> it is 2.0. >> How can I obtain 2.0 for ymax ? >> >> Thanks. >> >> Kamel >> > > Hi Kamel, > > I'm not seeing the same result: I actually get back (-1.94, 1.94) from > `get_ylim`. When do you call `get_ylim`? Do you call it *after* calling > `plot`? > > -Tony > > Or, more likely, are you calling it *after* you close the figure? If so, then the axes has already been cleared and you are merely finding the limits for a newly created (but unshown) figure. Make sure you get the limits after the plotting, but before the show(). Ben Root
On Wed, Jun 6, 2012 at 3:32 PM, kamel maths <kam...@gm...> wrote: > Hi, > > for this script: > ------------------------------------ > from pylab import * > > fig = figure() > ax = fig.add_subplot(111) > ax.axis('equal') > > x = linspace(-2, 3, 50) > ax.plot(x, sin(x)) > > show() > --------------------------------- > If I try to get ymax with ax.get_ylim(), i obtain 1.0 whereas I observe it > is 2.0. > How can I obtain 2.0 for ymax ? > > Thanks. > > Kamel > Hi Kamel, I'm not seeing the same result: I actually get back (-1.94, 1.94) from `get_ylim`. When do you call `get_ylim`? Do you call it *after* calling `plot`? -Tony
Hi, for this script: ------------------------------------ from pylab import * fig = figure() ax = fig.add_subplot(111) ax.axis('equal') x = linspace(-2, 3, 50) ax.plot(x, sin(x)) show() --------------------------------- If I try to get ymax with ax.get_ylim(), i obtain 1.0 whereas I observe it is 2.0. How can I obtain 2.0 for ymax ? Thanks. Kamel
> From: Eric Firing [mailto:ef...@ha...] > Sent: Wednesday, June 06, 2012 13:41 > To: mat...@li... > Subject: Re: [Matplotlib-users] scatter plot with constant x > > On 06/06/2012 06:42 AM, Ethan Gutmann wrote: > >> ... > >> No, but you can do this: > >> > >> plt.plot([3] * 4, [60, 80, 120, 180], ...) > > > > This started from a simple enough question, but it got me > thinking about what the fastest way to do this is (in case > you have HUGE arrays, or many loops over them). [...] > Since we end up needing float64 anyway: > > In [3]: %timeit l=np.empty(10000,dtype=np.float64); l.fill(3) > 100000 loops, best of 3: 14.1 us per loop > > In [4]: %timeit l=np.zeros(10000,dtype=np.float64);l[:]=3 > 10000 loops, best of 3: 26.6 us per loop > > Eric Numpy's as_strided came to mind; it can make a large array that's really a view of a one-element array: In [1]: as_strided = np.lib.stride_tricks.as_strided In [2]: s = as_strided(np.array([3], dtype=np.float64), shape=(10000,), ...: strides=(0,)) In [3]: s[0] = 4 In [4]: s[9999] # all elements share data Out[4]: 4.0 It's somewhat slower to create the base array and the view than to create and fill a 10000-element array: In [5]: %timeit l = np.empty(10000, dtype=np.float64); l.fill(3) 100000 loops, best of 3: 10.1 us per loop In [6]: %timeit s = as_strided(np.array([3], dtype=np.float64), shape=(10000,), strides=(0,)) # line broken for email 10000 loops, best of 3: 21.6 us per loop However, once created, its contents may be changed much more quickly: In [7]: l = np.empty(10000, dtype=np.float64) In [8]: %timeit l.fill(3) 100000 loops, best of 3: 7.71 us per loop In [9]: %timeit s[0] = 3 10000000 loops, best of 3: 116 ns per loop Numpy's broadcast_arrays uses as_strided under the hood. Code could look like: x, y = np.broadcast_arrays(3, [60, 80, 120, 180]) plt.plot(x, y, '+') x[0] = 21 # new x for all samples plt.plot(x, y, 'x')
On Jun 6, 2012, at 11:41 AM, Eric Firing wrote: > Since we end up needing float64 anyway: > > In [3]: %timeit l=np.empty(10000,dtype=np.float64); l.fill(3) > 100000 loops, best of 3: 14.1 us per loop nice, fill and empty seem to be responsible for about half the speed up each, good tools to know about.
On 06/06/2012 06:42 AM, Ethan Gutmann wrote: >> ... >> No, but you can do this: >> >> plt.plot([3] * 4, [60, 80, 120, 180], ...) > > This started from a simple enough question, but it got me thinking about what the fastest way to do this is (in case you have HUGE arrays, or many loops over them). This may be old news to some of you, but I thought it was interesting: > > In ipython --pylab > > In [1]: %timeit l=[3]*10000 > 10000 loops, best of 3: 53.3 us per loop > > In [2]: %timeit l=np.zeros(10000)+3 > 10000 loops, best of 3: 26.9 us per loop > > In [3]: %timeit l=np.ones(10000)*3 > 10000 loops, best of 3: 32.9 us per loop > > In [4]: %timeit l=(np.zeros(1)+3).repeat(10000) > 10000 loops, best of 3: 87.4 us per loop > > In [5]: %timeit l=np.zeros(10000);l[:]=3 > 10000 loops, best of 3: 21.6 us per loop > > In [6]: %timeit l=np.zeros(10000,dtype=np.uint8);l[:]=3 > 100000 loops, best of 3: 13.9 us per loop > > Using int16, int32, float32 get progressively slower to the default float64 case listed on line [5], changing the datatype in other methods doesn't result in nearly as large a speed up as it does in the last case. > > Ben's method is probably the most elegant for small arrays, but does any one else have a faster way to do this? (I'm assuming no use of blitz, inline C, f2py, but if you think you can do it faster in one of those, show me the way). > Since we end up needing float64 anyway: In [3]: %timeit l=np.empty(10000,dtype=np.float64); l.fill(3) 100000 loops, best of 3: 14.1 us per loop In [4]: %timeit l=np.zeros(10000,dtype=np.float64);l[:]=3 10000 loops, best of 3: 26.6 us per loop Eric > Sorry, maybe this is more appropriate on the numpy list. > > Ethan > > > ------------------------------------------------------------------------------ > 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 > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
On 06/06/2012 12:54 PM, Ethan Gutmann wrote: > On Jun 6, 2012, at 10:49 AM, Michael Droettboom wrote: >> Interesting result. Note, however, that matplotlib will eventually turn >> all data arrays into float64 at rendering time, so any speed advantage >> to using integers will be lost by the subsequent conversion, I suspect. > I don't think it does if you pass uint8 to imshow, but otherwise you might be right. Sure. I was referring to scatter here. With imshow, of course, everything is ultimately turned into 8-bits-per-plane rgba. Mike
On Jun 6, 2012, at 10:49 AM, Michael Droettboom wrote: > Interesting result. Note, however, that matplotlib will eventually turn > all data arrays into float64 at rendering time, so any speed advantage > to using integers will be lost by the subsequent conversion, I suspect. I don't think it does if you pass uint8 to imshow, but otherwise you might be right. ethan
On 06/06/2012 12:42 PM, Ethan Gutmann wrote: >> ... >> No, but you can do this: >> >> plt.plot([3] * 4, [60, 80, 120, 180], ...) > Using int16, int32, float32 get progressively slower to the default float64 case listed on line [5], changing the datatype in other methods doesn't result in nearly as large a speed up as it does in the last case. > Interesting result. Note, however, that matplotlib will eventually turn all data arrays into float64 at rendering time, so any speed advantage to using integers will be lost by the subsequent conversion, I suspect. Mike
> ... > No, but you can do this: > > plt.plot([3] * 4, [60, 80, 120, 180], ...) This started from a simple enough question, but it got me thinking about what the fastest way to do this is (in case you have HUGE arrays, or many loops over them). This may be old news to some of you, but I thought it was interesting: In ipython --pylab In [1]: %timeit l=[3]*10000 10000 loops, best of 3: 53.3 us per loop In [2]: %timeit l=np.zeros(10000)+3 10000 loops, best of 3: 26.9 us per loop In [3]: %timeit l=np.ones(10000)*3 10000 loops, best of 3: 32.9 us per loop In [4]: %timeit l=(np.zeros(1)+3).repeat(10000) 10000 loops, best of 3: 87.4 us per loop In [5]: %timeit l=np.zeros(10000);l[:]=3 10000 loops, best of 3: 21.6 us per loop In [6]: %timeit l=np.zeros(10000,dtype=np.uint8);l[:]=3 100000 loops, best of 3: 13.9 us per loop Using int16, int32, float32 get progressively slower to the default float64 case listed on line [5], changing the datatype in other methods doesn't result in nearly as large a speed up as it does in the last case. Ben's method is probably the most elegant for small arrays, but does any one else have a faster way to do this? (I'm assuming no use of blitz, inline C, f2py, but if you think you can do it faster in one of those, show me the way). Sorry, maybe this is more appropriate on the numpy list. Ethan
On Tue, Jun 5, 2012 at 11:53 AM, Ulrich vor dem Esche < ulr...@go...> wrote: > Hey! :o) > This should be simple, but i cant manage: I need to plot many dots with > the same x, like > > plt.plot([3,3,3,3],[60,80,120,180],'+',markersize=8,mec='k') > > The array for x values is silly, especially since the number of y values > may be rather large. Is there a way to enter a constant there? > > Cheers to you all! > Ulli > > No, but you can do this: plt.plot([3] * 4, [60, 80, 120, 180], ...) Does that help? Ben Root
On Wed, Jun 6, 2012 at 8:01 AM, Guillaume Gay <gui...@mi...> wrote: > Le 05/06/2012 16:25, Tom Dimiduk a écrit : >> Is any of this stuff I should be looking to upstream or split off into >> the start of a scientific imaging library for python? > Have you had a look at skimage https://github.com/scikits-image ? > > > BTW I uses matplotlib (and the whole pylab suite) in my projects for all > the visualisation. > A (peer reviewed published) example here: > https://github.com/Kinetochore-segregation > > Best > > Guillaume The Spyder (http://code.google.com/p/spyderlib/) python-based matlab clone uses matplotlib for plotting. Python(X,Y) (http://code.google.com/p/pythonxy/) is an integrated windows python release that includes a ton of science, engineering, and mathematics-oriented python packages, including matplotlib. Numpy uses small bits of matplotlib when building the documentation, but I don't know if that counts (I think it may even use it for building matplotlib-related parts of the documentation, in which case it really doesn't count). I know someone is working on a pure python backend for the Cantor advanced mathematics software (http://edu.kde.org/cantor/). The project only started recently, however (see http://blog.filipesaraiva.info/?p=779 ). There is also already a sage backend for Cantor, which of course uses matplotlib for plotting because that is what sage uses. -Todd
Le 05/06/2012 16:25, Tom Dimiduk a écrit : > Is any of this stuff I should be looking to upstream or split off into > the start of a scientific imaging library for python? Have you had a look at skimage https://github.com/scikits-image ? BTW I uses matplotlib (and the whole pylab suite) in my projects for all the visualisation. A (peer reviewed published) example here: https://github.com/Kinetochore-segregation Best Guillaume
On Tue, Jun 5, 2012 at 10:18 AM, Eric Firing <ef...@ha...> wrote: > In oceanography: it is used in the shipboard ADCP data acquisition and > processing systems, presently installed on 20 ships. Suggestion: let's have for mpl something like what we created long ago for IPython, an official page listing projects that use it (and btw, if your project uses IPython as a component/library and you're not already listed here, please do so!): http://wiki.ipython.org/Projects_using_IPython While I'm not a huge fan of wikis for everything, for this it's actually a good solution, as it's very low overhead for others to update. And it comes in handy as an official list whenever we do presentations about IPython, to show that it's actually useful for something. I don't think we have a MPL wiki, but if it's just for a page or two we could just use the one at github. Cheers, f
I got pretty good results with the code below. Note that I am reading the FLIP_COLORS from a gui checkbox. FLIP_COLORS = self.dark_background_flag.get() if FLIP_COLORS: matplotlib.rcParams['figure.facecolor'] = '0.0' matplotlib.rcParams['axes.edgecolor'] = 'grey' matplotlib.rcParams['text.color'] = 'white' matplotlib.rcParams['ytick.color'] = '#00ff00' matplotlib.rcParams['xtick.color'] = '#0ED5D5' matplotlib.rcParams['axes.labelcolor'] = '#0ED5D5' matplotlib.rcParams['axes.facecolor'] = 'black' matplotlib.rcParams['grid.color'] = '0.3' matplotlib.rcParams['grid.linestyle'] = '-' matplotlib.rcParams['lines.markeredgewidth'] = 0.0 else: matplotlib.rcdefaults() ## I seems like setting matplotlib.rcParams['figure.facecolor'] isn't ## enough. I think this is a bug and set_facecolor() is a work-around. fig.set_facecolor(matplotlib.rcParams['figure.facecolor']) This will flip and also flip back. I found a few colors didn't follow the crowd. For example, axes.ylabel.color doesn't seem to have an entry in rcParams. For this, I have to modify the plot generation statments something like: ax.set_ylabel('Voltage (volts)', color=matplotlib.rcParams['ytick.color']) That sets the ylabel text to be the same as the tick marks. I also have to do things like that to change line colors and such when going flipping colors. DavidS