You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
| 2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
| 2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
| 2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
| 2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
| 2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
| 2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
| 2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
| 2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
| 2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
| 2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
| 2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
| 2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
| 2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
|
2
(1) |
3
|
4
|
5
(1) |
6
|
|
7
(3) |
8
|
9
(1) |
10
(1) |
11
|
12
(2) |
13
|
|
14
|
15
(9) |
16
(7) |
17
(2) |
18
(3) |
19
|
20
|
|
21
|
22
|
23
|
24
|
25
|
26
(1) |
27
(1) |
|
28
(1) |
29
(4) |
30
|
31
|
|
|
|
|
From: John H. <jdh...@ac...> - 2003-12-15 22:42:53
|
>>>>> "Christopher" == Christopher Fonnesbeck <ch...@fo...> writes:
Christopher> ... I'm not sure why I'd want to use gtk instead of
Christopher> wx anyhow, given the choice.
One more option. If all you want is the batch generation of figures
offline with no display, you can use either the PS or GD backends. PS
only requires Numeric. gd, however, takes some energy to build.
But it works: I just built all the prereqs on OSX from source and it
worked perfectly.
You need
libjpeg - http://freshmeat.net/redir/libjpeg/5665/url_tgz/jpegsrc.v6b.tar.gz
./configure
sudo make
sudo cp libjpeg.a /usr/local/lib/
sudo cp *.h /usr/local/include/
libpng - http://umn.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.5.tar.gz
cp scripts/makefile.macosx Makefile
sudo make install
You then need to follow the build instructions for gd, gdmodule and
dependencies at
http://matplotlib.sourceforge.net/backends.html#GD
Here's an example script ....
import matplotlib
matplotlib.use('GD')
from matplotlib.matlab import *
t = arange(0.0, 3.0, 0.01)
for i in range(1,10):
figure(1)
s = sin(2*pi*i*t)
plot(t,s)
savefig('plot%02d' % i)
close(1)
I put all this here mainly for archival purposes in case someone wants
to use matplotlib / OSX / gdmodule. We'll get the wx thing figured
out too ....
JDH
|
|
From: John H. <jdh...@ac...> - 2003-12-15 21:40:47
|
>>>>> "Christopher" == Christopher Fonnesbeck <ch...@fo...> writes:
Christopher> ... I'm not sure why I'd want to use gtk instead of
Christopher> wx anyhow, given the choice.
No compelling reason. The GTK backend was the first and probably the
most stable for that reason. This is the first release with the wx
backend, so there are likely some bugs lurking that will have to be
found and stamped out.
Christopher> I'm trying to keep my plotting in a separate module
Christopher> from everything else, so that I don't have to make
Christopher> changes all over the place when I change my plotting
Christopher> code. For example, plot_histogram() can be called
Christopher> from any other module without knowing how the plot is
Christopher> implemented. If I have to call show() from each
Christopher> module that uses the plotting module, it will start
Christopher> to get messy. Outside of the Plot module, the rest of
Christopher> my code shouldn't have to know anything about
Christopher> matplotlib. So, I'd like to be able to gererate and
Christopher> save a plot, then move on to the next piece of
Christopher> code. I'm trying to use your package in place of
Christopher> scipy, which is what I have been using to generate
Christopher> plots up until now; hopefully I can make it work.
Would you like this to run 'offline' so that no windows pop up as you
create the figures, or is it enough simply that you can create them
one at a time in batch mode with the plot functionality encapsulated?
I just installed wxpython and matplotlib on OS X, so I'll have a
chance to delve into this issue a bit....
John Hunter
|
|
From: Christopher F. <ch...@fo...> - 2003-12-15 21:13:55
|
On Dec 15, 2003, at 3:29 PM, John Hunter wrote:
>
>
> Christopher> I'm trying to use matplotlib on OSX (so with WX
> Christopher> rather than gtk) in conjunction with my own code that
>
> Not necessarily. pygtk, gtk-2, etc... have been packaged for fink.
> I'm going to try and install them on my powerbook when I get a few
> minutes.
I like to avoid fink unless I absolutely have to use it -- it ends up
installing a whole bunch of packages that I already have elsewhere on
my machine, thereby creating the need to maintain multiple
installations of the same package.
... I'm not sure why I'd want to use gtk instead of wx anyhow, given
the choice.
>
> show must be the last line of your script. Is it possible to do all
> the figures in the loop and then call show? If your number of figures
> is very large, you could run into memory problems this way. There is
> a work-around, but if you can do it all in memory that is the easiest
> solution
>
> for i in range(1,10):
> figure(i)
> # do plot i
> savefig('plot%d'%i)
> show()
>
> This is an area that I am actively working on (in fact I was working
> on it when you emailed!) so if this isn't a viable solution for you
> let me know. I'm implementing some features to make it easier to use
> matplotlib in with xvfb (virtual x) so you can produce plots in wx or
> gtk without launching the GUI windows.
>
>
I'm trying to keep my plotting in a separate module from everything
else, so that I don't have to make changes all over the place when I
change my plotting code. For example, plot_histogram() can be called
from any other module without knowing how the plot is implemented. If I
have to call show() from each module that uses the plotting module, it
will start to get messy. Outside of the Plot module, the rest of my
code shouldn't have to know anything about matplotlib. So, I'd like to
be able to gererate and save a plot, then move on to the next piece of
code. I'm trying to use your package in place of scipy, which is what I
have been using to generate plots up until now; hopefully I can make it
work.
--
Christopher J. Fonnesbeck ( c h r i s @ f o n n e s b e c k . o r g )
Georgia Cooperative Fish & Wildlife Research Unit, University of Georgia
|
|
From: John H. <jdh...@ac...> - 2003-12-15 21:07:06
|
>>>>> "Christopher" == Christopher Fonnesbeck <ch...@fo...> writes:
Christopher> code for some reason, but instead hangs. When I try
Christopher> and close the plot manually, it terminates the python
Christopher> code. How can I get matplotlib to produce a new plot
Christopher> each time it is called, moving on after each plot is
Christopher> produced, displayed and saved to file. Here is a
Christopher> sample function from my code:
For the GTK backend, there is another solution. The call to
ShowOn().set(1) tells matplotlib to execute the commands as they are
issued, which was originally designed for people using matplotlib
from the python shell but also applies to your case, where you want to
generate a bunch of figures one at a time
import matplotlib
matplotlib.use('GTK')
from matplotlib.matlab import *
from matplotlib.backends.backend_gtk import ShowOn
ShowOn().set(1)
t = arange(0.0, 3.0, 0.01)
for i in range(1,10):
figure(1)
s = sin(2*pi*i*t)
plot(t,s)
savefig('plot%02d' % i)
close(1)
*Note there is no call to show at the end*
The same trick *does not* currently work with the WX backend, though
perhaps Jeremy can take a look at it and determine why not. Somehow
the call the ShowOn().set(1) seems to screw it up.
We'll look into it...
JDH
|
|
From: John H. <jdh...@ac...> - 2003-12-15 20:37:27
|
>>>>> "Christopher" == Christopher Fonnesbeck <ch...@fo...> writes:
Christopher> First off, I want to congratulate the authors of
Christopher> matplotlib for making a great package. This is the
Christopher> python plotting library I've been waiting for.
Thanks!
Christopher> I'm trying to use matplotlib on OSX (so with WX
Christopher> rather than gtk) in conjunction with my own code that
Not necessarily. pygtk, gtk-2, etc... have been packaged for fink.
I'm going to try and install them on my powerbook when I get a few
minutes.
Christopher> produces Markov chain Monte Carlo simulations. At the
Christopher> end of the simulation, I try to plot traces and
Christopher> histograms of all of the sampled values. However,
Christopher> matplotlib gets stuck on the first plot. After
Christopher> calling show(), it does not move to the next line of
Christopher> code for some reason, but instead hangs. When I try
Christopher> and close the plot manually, it terminates the python
Christopher> code. How can I get matplotlib to produce a new plot
Christopher> each time it is called, moving on after each plot is
Christopher> produced, displayed and saved to file. Here is a
Christopher> sample function from my code:
show must be the last line of your script. Is it possible to do all
the figures in the loop and then call show? If your number of figures
is very large, you could run into memory problems this way. There is
a work-around, but if you can do it all in memory that is the easiest
solution
for i in range(1,10):
figure(i)
# do plot i
savefig('plot%d'%i)
show()
This is an area that I am actively working on (in fact I was working
on it when you emailed!) so if this isn't a viable solution for you
let me know. I'm implementing some features to make it easier to use
matplotlib in with xvfb (virtual x) so you can produce plots in wx or
gtk without launching the GUI windows.
JDH
|
|
From: Christopher F. <ch...@fo...> - 2003-12-15 20:22:48
|
First off, I want to congratulate the authors of matplotlib for making
a great package. This is the python plotting library I've been waiting
for.
I'm trying to use matplotlib on OSX (so with WX rather than gtk) in
conjunction with my own code that produces Markov chain Monte Carlo
simulations. At the end of the simulation, I try to plot traces and
histograms of all of the sampled values. However, matplotlib gets stuck
on the first plot. After calling show(), it does not move to the next
line of code for some reason, but instead hangs. When I try and close
the plot manually, it terminates the python code. How can I get
matplotlib to produce a new plot each time it is called, moving on
after each plot is produced, displayed and saved to file. Here is a
sample function from my code:
def
plot_histogram(data,name,nbins=None,xlab='Value',ylab='Frequency',suffix
=''):
'Internal histogram specification for handling nested arrays'
'If there is only one data array, go ahead and plot it ... '
if len(shape(data))==1:
print 'Generating histogram of',name
try:
figure(1)
nbins = min(nbins or 10,len(unique(data)))
'Generate histogram'
hist(data,nbins)
'Plot options'
xlabel(name)
ylabel("Frequency")
show()
'Save to file'
savefig("%s%s.png" % (name,suffix))
close(1)
except OverflowError:
print '... cannot generate histogram'
else:
'... otherwise, plot recursively'
tdata = swapaxes(data,0,1)
for i in range(len(tdata)):
Thanks for any advice,
C.
--
Christopher J. Fonnesbeck ( c h r i s @ f o n n e s b e c k . o r g )
Georgia Cooperative Fish & Wildlife Research Unit, University of Georgia
|
|
From: John H. <jdh...@ac...> - 2003-12-15 16:04:58
|
matplotlib is a pure python 2D plotting library with a matlab syntax which produces publication quality figures using in a variety of hardcopy formats (PNG, JPG, TIFF, PS) and interactive GUI environments (WX, GTK) across platforms. matplotlib can be used in python scripts, interactively from the python shell (ala matlab or mathematica), in web application servers generating dynamic charts, or embedded in GTK or WX applications. http://matplotlib.sourceforge.net What's new WX python backend Jeremy O'Donoghue has done an amazing job implementing the backend for wxpython, with all the features such as interactive navigation that are supported in the GTk backend. matplotlib should not be available with a GUI anywhere wxpython, Numeric and python work, including linux and friends, win32, and Mac OS X. See http://matplotlib.sourceforge.net/matplotlib.backends.backend_wx.html for a summary of known issues. Pseudo color plots The pcolor command generates pseudo color plots. See http://matplotlib.sourceforge.net/screenshots.html#pcolor_demo and http://matplotlib.sourceforge.net/screenshots.html#mri_with_eeg for screenshots and example code New time-series plotting functions * psd - plots the power spectral density of a time series * csd - plots the cross spectral density of two time series * cohere - plots the coherence See the examples dir in the src distro: psd_demo.py and csd_demo.py Substantially improved layout The transform architecture was refactored, allowing much more precise layout. Lines, patches, text, etc... can now be placed and scaled in arbitrary units, relative axes units, or physical size. Applicaiton programmers who want to create lines, patches and text directly using the API should read the transform module docs for more info. See the text help for an example of how to specify text locations in axes coords (0,0 is lower left and 1,1 is upper right) Expanded legend capabilities The legend class is improved, with a more sophisticated layout engine and the ability to accept lines and rectangle patches as an optional first argument to specify which lines/patches make up the legend. There are also additional legend placement locations, like 'upper center'. See http://matplotlib.sourceforge.net/screenshots.html#legend_demo Expanded errorbar capabilities Gary Ruben contributed some code to support x and y errorbars, either symmetrix or asymettric, in one enhanced function 'errorbar'. See the errorbar_demo.py for examples of all the wild and wonderful errorbar styles. Bar charts can now also display errorbars; see http://matplotlib.sourceforge.net/screenshots.html#barchart_demo Figure size and DPI controllable from matlab interface The figure command now takes optional args figsize and dpi to set the figure size and DPI in the matlab interface. This change involved some changes in the way default sizes and resolutions were handled among the various backends, with the effect that figures generated by existing scripts may appear different, eg, in the relative size of text to the figure elements. The advantage is that the current implementation does a better job of computing true sizes with increased fidelity between backends. Apologies for any inconveniences! API changes There have been some minor changes to the API for those using matplotlib embedded in GTK applications. * If you instantiate an Axes of Subplot intace, the first arg to __init__ must be the figure that contains it. * If you instantiate any artists, eg, Line2D, Rectangle, or AxisTextGTk, you must initialize them with their dpi, bbox, and transforms. See the help for the transforms modules and the examples logo.py and mri_with_eeg.py, where the objects are explicity created using the new API. * The only change to the matlab interface is in the signature of the errorbar func, which breaks matlab compatibility for the enhanced ability to do x and y errorbars. * See matplotlib.axes.py for a complete list of API changes John Hunter |
|
From: John H. <jdh...@ac...> - 2003-12-15 14:16:56
|
>>>>> "K" == K KISHIMOTO <ko...@us...> writes:
K> I am sorry that my last explanation was insufficient. The
K> point is that I think it is inefficient to execute the
K> following two lines in matplotlib.mlab.hist when I know the
K> result of "n" already.
Good point ...
K> Another point is hist() does not support error bar plot (but
K> bar() called from hist() does support.)
Another good point....
K> So, I propose again def hist(x, bins=10, noplot=0, normed=0,
K> weights=None, errors=None , **kwargs): in matplotlib.matplab.
K> I think if matplotlib supports this by default, it is very
K> smart and usefull to many users when making histogram plots
K> with matplotlib than letting hist() be mainly for the purpose
K> of "calculating" histograms.
OK, I'll give it some thought. Sounds reasonable enough. It doesn't
break backwards compatibility, adds useful features, and is more
consistent with bar.
JDH
|
|
From: K. K. <ko...@us...> - 2003-12-15 13:38:29
|
Thank you for your reply.
> def func1(x=None):
> if x is None: x = []
> #blah blah
The indication is right.
I should have done so. Thank you.
> This seems like the kind of thing that would best be done in your user
> library. Eg, if you make a module mymatplotlib.py, you can defined
> your own hist. In that file, just import matplotlib.matlab and call
> matplotlib.matlab.hist within it. In fact, matplotlib.matlab.hist
> calls matplotlib.mlab.hist.
I am sorry that my last explanation was insufficient.
The point is that I think it is inefficient to execute the following
two lines in matplotlib.mlab.hist when I know the result of "n" already.
>> n = searchsorted(sort(y), bins)
>> n = diff(concatenate([n, [len(y)]]))
For the moment, I must insert extra code
>> y = [1.0] * 1000
(and hist(y, [0.0, 2.0]) calculates n = [1000], then plot the data.)
This is very expensive.
Another point is hist() does not support error bar plot (but bar()
called from hist() does support.)
So, I propose again
def hist(x, bins=10, noplot=0, normed=0, weights=None, errors=None ,
**kwargs):
in matplotlib.matplab.
I think if matplotlib supports this by default, it is very smart and
usefull to many users when making histogram plots with matplotlib than
letting hist() be mainly for the purpose of "calculating" histograms.
Example rough code.
------
def hist(x, bins=10, noplot=0, normed=0, weights=None, xerr=None,
yerr=None, **kwargs):
if noplot:
if weights == None:
return mlab.hist(x, bins, normed)
else:
return (weights, bins)
else:
try:
if weights == None:
ret = gca().hist(x, bins, normed)
else:
ret = gca().bar(bins, weights, xerr=xerr, yerr=yerr,
**kwargs)
except ValueError, msg:
msg = raise_msg_to_str(msg)
error_msg(msg)
raise RuntimeError, msg
draw_if_interactive()
return ret
|