Velocity Reviews > Plotting histograms, scatter plots in Python

# Plotting histograms, scatter plots in Python

Dr. Colombes
Guest
Posts: n/a

 08-06-2004
What is the easiest way to generate some plots and graphs in Python ?

Specifically interested in simple histograms and scatter plots with
circles and regression lines.

Fernando Perez
Guest
Posts: n/a

 08-06-2004
Dr. Colombes wrote:

> What is the easiest way to generate some plots and graphs in Python ?
>
> Specifically interested in simple histograms and scatter plots with
> circles and regression lines.

hth,

f

Peter Wilkinson
Guest
Posts: n/a

 08-06-2004

One module is Matplotlib, that seems to model the Matlab way of doing
things .... its at sourceforge.

Peter W.

At 02:18 PM 8/6/2004, Dr. Colombes wrote:
>What is the easiest way to generate some plots and graphs in Python ?
>
>Specifically interested in simple histograms and scatter plots with
>circles and regression lines.
>
>--
>http://mail.python.org/mailman/listinfo/python-list

John Hunter
Guest
Posts: n/a

 08-06-2004
>>>>> "Colombes" == Colombes <(E-Mail Removed)> writes:

Colombes> What is the easiest way to generate some plots and
Colombes> graphs in Python ? Specifically interested in simple
Colombes> histograms and scatter plots with circles and regression
Colombes> lines.

Here's a little example of a histogram and regression plot using
matplotlib - looks easy enough to me! Output image at
http://nitace.bsd.uchicago.edu:8080/...share/demo.png

from matplotlib.matlab import *

x = randn(10000) # some gaussian noise

subplot(211) # a subplot
hist(x, 100) # make a histogram
grid(True) # make an axes grid
ylabel('histogram')

# now do the regression...
x = arange(0.0, 2.0, 0.05)
y = 2+ 3*x + 0.2*randn(len(x)) # y is a linear function of x + nse

# the bestfit line from polyfit
m,b = polyfit(x,y,1) # a line is 1st order polynomial...

# plot the data with blue circles and the best fit with a thick
# solid black line
subplot(212)
plot(x, y, 'bo', x, m*x+b, '-k', linewidth=2)
ylabel('regression')
grid(True)

# save the image to hardcopy
savefig('demo')
show()

Paramjit Oberoi
Guest
Posts: n/a

 08-06-2004
> What is the easiest way to generate some plots and graphs in Python ?

Pychart:
http://www.hpl.hp.com/personal/Yasushi_Saito/pychart/

Colin J. Williams
Guest
Posts: n/a

 08-07-2004

Paramjit Oberoi wrote:
>>What is the easiest way to generate some plots and graphs in Python ?

>
>
> Pychart:
> http://www.hpl.hp.com/personal/Yasushi_Saito/pychart/

The charts look good, but the source code links fail.

Colin W.

Paramjit Oberoi
Guest
Posts: n/a

 08-07-2004
>> Pychart:
>> http://www.hpl.hp.com/personal/Yasushi_Saito/pychart/

>
> The charts look good, but the source code links fail.

Fernando Perez
Guest
Posts: n/a

 08-08-2004
Colin J. Williams wrote:

>
>
> Paramjit Oberoi wrote:
>>>What is the easiest way to generate some plots and graphs in Python ?

>>
>>
>> Pychart:
>> http://www.hpl.hp.com/personal/Yasushi_Saito/pychart/

>
> The charts look good, but the source code links fail.

I found it funny that the author makes a comment about poor PostScript quality
in Gnuplot, touting his as an alternative. If the examples on that page are to
be believed, that stuff looks like low-quality Excel-type business charts,
while Gnuplot has been producing publication quality EPS for a loooong time
(ask the many thousands of scientists using it since the early 90's).

I'd say that matplotlib is the _real_ contender to gnuplot today, not that toy
with horrible font scaling, no apparent real symbol/math support, ugly legend
boxes...

Best,

f

benzwt@yahoo.com.tw
Guest
Posts: n/a

 08-09-2004
http://www.velocityreviews.com/forums/(E-Mail Removed) (Dr. Colombes) wrote in message news:<(E-Mail Removed). com>...
> What is the easiest way to generate some plots and graphs in Python ?
>
> Specifically interested in simple histograms and scatter plots with
> circles and regression lines.
>

For high quality scientific plot I suggest
ppgplot and plplot.

pgplot (original)
http://www.astro.caltech.edu/~tjp/pgplot/

ppgplot (python module)
http://efault.net/npat/hacks/ppgplot/

plplot
http://plplot.sourceforge.net/

Dr. Colombes
Guest
Posts: n/a

 08-10-2004
John, Peter et al:

Thanks very much for your useful tips on MathPlotLib.

I've begun using MatPlotLib and I like it.

Others suggested GnuPlot, which I hope to try sometime in the
future.

Thanks all. This is a good example of very useful information
exchanged over an Internet newsgroup.

Dr. Colombes

John Hunter <(E-Mail Removed)> wrote in message news:<(E-Mail Removed)>...
> >>>>> "Colombes" == Colombes <(E-Mail Removed)> writes:

>
> Colombes> What is the easiest way to generate some plots and
> Colombes> graphs in Python ? Specifically interested in simple
> Colombes> histograms and scatter plots with circles and regression
> Colombes> lines.
>
> Here's a little example of a histogram and regression plot using
> matplotlib - looks easy enough to me! Output image at
> http://nitace.bsd.uchicago.edu:8080/...share/demo.png
>
> from matplotlib.matlab import *
>
> x = randn(10000) # some gaussian noise
>
> subplot(211) # a subplot
> hist(x, 100) # make a histogram
> grid(True) # make an axes grid
> ylabel('histogram')
>
> # now do the regression...
> x = arange(0.0, 2.0, 0.05)
> y = 2+ 3*x + 0.2*randn(len(x)) # y is a linear function of x + nse
>
> # the bestfit line from polyfit
> m,b = polyfit(x,y,1) # a line is 1st order polynomial...
>
> # plot the data with blue circles and the best fit with a thick
> # solid black line
> subplot(212)
> plot(x, y, 'bo', x, m*x+b, '-k', linewidth=2)
> ylabel('regression')
> grid(True)
>
> # save the image to hardcopy
> savefig('demo')
> show()