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
|
|
From: Jean-Baptiste C. <Jea...@de...> - 2004-03-15 10:02:13
|
It workls great now ! Thanks Jean-Baptiste On Sun, 14 Mar 2004 13:26:20 -0600 John Hunter <jdh...@ni...> wrote: > >>>>> "Jean-Baptiste" =3D=3D Jean-Baptiste Cazier <Jean-Baptiste.cazier@d= ecode.is> writes: >=20 > lh=3Dlen(h.haplist) > Xrange=3D[map[m] for m in [y for x,y in h.haplist]] > Yrange=3D[-math.log10(h.pval) for i in range(lh)] > line=3Dcanvas.figure.axes[0].plot(Xrange, Yrange, symbol) > line.set_visible(Plot.False) >=20 > Jean-Baptiste> Any idea ? >=20 > plot always return *a list* of lines. So you need to do >=20 > lines =3D canvas.figure.axes[0].plot(Xrange, Yrange, symbol) > lines[0].set_visible(Plot.False) # get the first element of the list >=20 > JDH --=20 ----------------------------- Jea...@de... Department of Statistics deCODE genetics Sturlugata,8 570 2993 101 Reykjav=EDk |
|
From: John H. <jdh...@ac...> - 2004-03-14 19:48:39
|
>>>>> "Jean-Baptiste" == Jean-Baptiste Cazier <Jea...@de...> writes:
lh=len(h.haplist)
Xrange=[map[m] for m in [y for x,y in h.haplist]]
Yrange=[-math.log10(h.pval) for i in range(lh)]
line=canvas.figure.axes[0].plot(Xrange, Yrange, symbol)
line.set_visible(Plot.False)
Jean-Baptiste> Any idea ?
plot always return *a list* of lines. So you need to do
lines = canvas.figure.axes[0].plot(Xrange, Yrange, symbol)
lines[0].set_visible(Plot.False) # get the first element of the list
JDH
|
|
From: Jean-Baptiste C. <Jea...@de...> - 2004-03-14 18:36:18
|
S=E6l !
Thanks for the change of the artist class. It should do exaclty what I want
I modified artist accordingly (no more 'transform' defined ?
I can run you example witout problem.
But If I implement it in my program which is embedded within gtk with the o=
bject_picker, it does not work:
If I try to set_visible on lines I just define with plot I get an error mes=
sage
Traceback (most recent call last):
File "./novi.py", line 604, in ?
main()
File "./novi.py", line 576, in main
MaxP =3D plot_Haps(canvas, map, Haps)
File "./novi.py", line 367, in plot_Haps
line =3D plot_hap(canvas, map, h, sym[s])
File "./novi.py", line 389, in plot_hap
line.set_visible(Plot.False)
AttributeError: 'list' object has no attribute 'set_visible'
And this happens even if I redo the full installation of matplotlib 0.51:
...
not copying matplotlib/__init__.py (output up-to-date)
not copying matplotlib/_matlab_helpers.py (output up-to-date)
not copying matplotlib/afm.py (output up-to-date)
copying matplotlib/artist.py -> build/lib/matplotlib
not copying matplotlib/axes.py (output up-to-date)
not copying matplotlib/axis.py (output up-to-date)
...
running install_lib
not copying build/lib/matplotlib/__init__.py (output up-to-date)
not copying build/lib/matplotlib/_matlab_helpers.py (output up-to-date)
not copying build/lib/matplotlib/afm.py (output up-to-date)
copying build/lib/matplotlib/artist.py -> /usr/lib/python2.2/site-packages/=
matplotlib
not copying build/lib/matplotlib/axes.py (output up-to-date)
not copying build/lib/matplotlib/axis.py (output up-to-date)
not copying build/lib/matplotlib/backend_bases.py (output up-to
....
skipping byte-compilation of /usr/lib/python2.2/site-packages/matplotlib/_m=
atlab_helpers.py to
_matlab_helpers.pyc
skipping byte-compilation of /usr/lib/python2.2/site-packages/matplotlib/af=
m.py to afm.pyc
byte-compiling /usr/lib/python2.2/site-packages/matplotlib/artist.py to art=
ist.pyc
skipping byte-compilation of /usr/lib/python2.2/site-packages/matplotlib/ax=
es.py to axes.pyc
skipping byte-compilation of /usr/lib/python2.2/site-packages/matplotlib/ax=
is.py to axis.pyc
...
This is my routine:
def plot_hap(canvas, map, h , symbol, size=3DNone):
""" plot the specific haplotype """
lh=3Dlen(h.haplist)
Xrange=3D[map[m] for m in [y for x,y in h.haplist]]
Yrange=3D[-math.log10(h.pval) for i in range(lh)]
line=3Dcanvas.figure.axes[0].plot(Xrange, Yrange, symbol)
line.set_visible(Plot.False)
return line
Any idea ?
Thanks
Jean-Baptiste
On Fri, 12 Mar 2004 12:29:18 -0600
John Hunter <jdh...@ni...> wrote:
> >>>>> "Jean-Baptiste" =3D=3D Jean-Baptiste Cazier <Jean-Baptiste.cazier@d=
ecode.is> writes:
>=20
> Jean-Baptiste> S=E6l ! Is there a way to "turn-off" lines without
> Jean-Baptiste> removing the data ? My goal is to hide some lines
> Jean-Baptiste> in a plot wihtout losing the data so I can show it
> Jean-Baptiste> again later. I can do # Hide the line
> Jean-Baptiste> x=3Dline.get_xdata() y=3Dline.get_ydata()
> Jean-Baptiste> line.set_data([],[])
>=20
> This can be done very easily (for any artist) with a minor
> modification of artist.py. The base class forewards all drawing to
> the derived classes so no other changes are required. Just replace
> artist.py with the attached file below and then you can do:
>=20
> from matplotlib.matlab import *
>=20
> x =3D arange(0.0, 1.0, 0.05)
> l1, l2 =3D plot(x, sin(2*pi*x), x, sin(4*pi*x))
> l1.set_visible(False)
> show()
>=20
>=20
--=20
-----------------------------
Jea...@de...
Department of Statistics
deCODE genetics Sturlugata,8
570 2993 101 Reykjav=EDk
|
|
From: Gary P. <pa...@in...> - 2004-03-13 13:18:34
|
I've been poking aroung a bit trying to see if I can locate my plots in a frame in my own Tkinter GUI rather than a stand-alone window. It looks like it might be possible if I can, for example, extract the frame instance from a TkAgg plot (or something like that) Can anyone comment or suggest a route? -gary |
|
From: John H. <jdh...@ac...> - 2004-03-12 19:10:39
|
>>>>> "Jean-Baptiste" =3D=3D Jean-Baptiste Cazier <Jean-Baptiste.cazier@d=
ecode.is> writes:
Jean-Baptiste> S=E6l ! Is there a way to "turn-off" lines without
Jean-Baptiste> removing the data ? My goal is to hide some lines
Jean-Baptiste> in a plot wihtout losing the data so I can show it
Jean-Baptiste> again later. I can do # Hide the line
Jean-Baptiste> x=3Dline.get_xdata() y=3Dline.get_ydata()
Jean-Baptiste> line.set_data([],[])
This can be done very easily (for any artist) with a minor
modification of artist.py. The base class forewards all drawing to
the derived classes so no other changes are required. Just replace
artist.py with the attached file below and then you can do:
from matplotlib.matlab import *
x =3D arange(0.0, 1.0, 0.05)
l1, l2 =3D plot(x, sin(2*pi*x), x, sin(4*pi*x))
l1.set_visible(False)
show()
|
|
From: Jean-Baptiste C. <Jea...@de...> - 2004-03-12 12:59:22
|
S=E6l ! Is there a way to "turn-off" lines without removing the data ? My goal is to hide some lines in a plot wihtout losing the data so I can sh= ow it again later. I can do=20 # Hide the line x=3Dline.get_xdata() y=3Dline.get_ydata() line.set_data([],[]) # Reset the line line.set_data(x,y) But I would prefer I more elegant way like line.hide() line.show() Would it be possible to get something like that ? Thanks Jean-Baptiste --=20 ----------------------------- Jea...@de... Department of Statistics deCODE genetics Sturlugata,8 570 2993 101 Reykjav=EDk |
|
From: Matt F. <mfi...@us...> - 2004-03-12 03:03:54
|
In order to "freeze" your matplotlib-0.51 application using the Agg
backend into a standalone executable, the following are the steps you
should take:
1. Write your setup.py file that py2exe will use for compiling. Example:
# setup.py
from distutils.core import setup
import py2exe
import glob
data = glob.glob(r'C:\Python23\share\matplotlib\*')
setup(
console=["your_file.py"],
data_files=[("share",data)]
)
. Note that we use "data" here to copy the matplotlibdata "share" folder
contents into your /dist/share directory.
2. Insert the following import statements into your_file.py, which is
the file containing your matplotlib code:
import matplotlib
import matplotlib.ft2font
import matplotlib.backends.backend_agg
import ttfquery
from matplotlib.matlab import *
3. Now we must take care of fonts. We're assuming that the machine we're
installing to doesn't have the MATPLOTLIBDATA or TTFPATH environment
variables set, so we must do the following:
In ttfquery\_scriptregistry.py comment out these lines:
### more robust registry-file location by John Hunter...
#if os.environ.has_key('HOME'):
# registryFile = os.path.join( os.environ['HOME'], ".font.cache")
#else:
# OpenGLContext uses the Application Data directory for win32,
# should consider porting that code here...
# registryFile = os.path.join( os.path.split(__file__)[0],
"font.cache")
And replace with:
registryFile = r'share\.font.cache'
In matplotlib\__init__.py comment out these lines in the
get_data_path() method:
#path = os.path.join(distutils.sysconfig.PREFIX, 'share',
'matplotlib')
#if os.path.isdir(path): return path
#path =
os.path.join(os.sep.join(__file__.split(os.sep)[:-5]),
# 'share','matplotlib')
#if os.path.isdir(path): return path
#if os.environ.has_key('MATPLOTLIBDATA'):
# path = os.environ['MATPLOTLIBDATA']
# if os.path.isdir(path): return path
#raise RuntimeError('Could not find the matplotlib data files')
And replace with:
return 'share'
Also, while you have __init__.py open, in defaultParams you should
change the default backend to 'Agg' and
default fontname to 'Vera' since it ships with matplotlib.
4. Copy your .font.cache file from /ttfquery into your matplotlibdata
/share directory. Your system did a system scan of fonts to generate
this file the first time that Agg was run but your "clean" system won't
have it. By copying it to share, py2exe will include it in the generated
/dist/share directory.
That should be it. Many thanks to John Hunter for helping me hack
through this, and I hope this information will find its way to others so
it can save them lots of time.
--Matt
|
|
From: Flavio C. C. <fcc...@ci...> - 2004-03-11 18:03:06
|
John I foud it with the "print trick" thank you!!! the main proble was the self.fig which I replaced with the self.canvas and it is now working, Thanks again On Thu, 2004-03-11 at 13:49, Flavio Codeco Coelho wrote: > -----Forwarded Message----- > From: Flavio Codeco Coelho <fcc...@fi...> > To: mat...@li... > <mat...@li...> > Subject: [Matplotlib-users] embedding in wx segfault > Date: Thu, 11 Mar 2004 12:53:40 -0300 > > > > Hi I have a variant of the embedding_in_wx script that worked fine on > my previous version of matplotlib. Now, with version 0.51 it's seg > faulting. I updated the script to reflect the changes in the library > but still... Can anyone see what may be going wrong? > > thanks > > the script is attached |
|
From: Flavio C. C. <fcc...@ci...> - 2004-03-11 17:08:29
|
-----Forwarded Message----- From: Flavio Codeco Coelho <fcc...@fi...> To: mat...@li... <mat...@li...> Subject: [Matplotlib-users] embedding in wx segfault Date: Thu, 11 Mar 2004 12:53:40 -0300 Hi I have a variant of the embedding_in_wx script that worked fine on my previous version of matplotlib. Now, with version 0.51 it's seg faulting. I updated the script to reflect the changes in the library but still... Can anyone see what may be going wrong? thanks the script is attached |
|
From: John H. <jdh...@ac...> - 2004-03-11 16:28:13
|
>>>>> "Flavio" == Flavio Codeco Coelho <fcc...@fi...> writes:
Flavio> Hi I have a variant of the embedding_in_wx script that
Flavio> worked fine on my previous version of matplotlib. Now,
Flavio> with version 0.51 it's seg faulting. I updated the script
Flavio> to reflect the changes in the library but still... Can
Flavio> anyone see what may be going wrong?
Please resend as an attachment - your lines are wrapped and hence the
code is doubly difficult to debug.
A couple of suggestions: wx swallows exceptions. This makes it
virtually impossible to debug scripts using wx since you cannot read
the stack trace. The problem may be a simple syntax error in your
script having nothing to do with matplotlib or the wx backend per se,
and you wouldn't see it because of the exception swallowing problem.
Workarounds:
1) insert some print statements at the top of each function so you
can see when the failure occurs. This is essentially what Jeremy
does in backend_wx. Change the _DEBUG level to a low number in
backend_wx to get more debugging information.
2) try running pychecker on your script.
A lifetime supply of free bugfixes to any wx guru who knows how to fix
this problem - Jeremy and I have certainly suffered with it long enough.
JDH
|
|
From: Flavio C. C. <fcc...@fi...> - 2004-03-11 16:12:08
|
Hi I have a variant of the embedding_in_wx script that worked fine on my
previous version of matplotlib. Now, with version 0.51 it's seg
faulting. I updated the script to reflect the changes in the library but
still... Can anyone see what may be going wrong?
thanks
here is my script:
-----------------------------------------------------------------------------
# Name: PlotFigure.py
# Purpose: Plotting frame that contains the plots generated by Model
Buider
#
# Author: Flavio C. Coelho
#
# Created: 2004/09/01
# RCS-ID: $Id: PlotFigure.py,v 1.1 2004/01/13 10:51:43 fccoelho Exp
$
# Copyright: (c) 2003
# Licence: GPL
# Obs: This code was based on Jeremy Donoghue's embedding_in_wx.py
included with
# matplotlib.
#-----------------------------------------------------------------------------
#Boa:Frame:PlotFigure
import matplotlib
matplotlib.use('WX')
from matplotlib.backends.backend_wx import Toolbar, FigureCanvasWx,
FigureManager
from matplotlib.figure import Figure
from matplotlib.axes import Subplot
import matplotlib.numerix as numpy
from RandomArray import *
from wxPython.wx import *
def create(parent):
return PlotFigure(parent)
[wxID_PLOTFIGURE] = map(lambda _init_ctrls: wxNewId(), range(1))
class PlotFigure(wxFrame):
def _init_ctrls(self, prnt):
# generated method, don't edit
wxFrame.__init__(self, id=wxID_PLOTFIGURE, name='Output',
parent=prnt,
pos=wxPoint(480, 335), size=wxSize(640, 480),
style=wxDEFAULT_FRAME_STYLE, title='Results')
self.SetClientSize(wxSize(1280, 893))
def __init__(self, parent):
self._init_ctrls(parent)
self.fig = Figure((10,8), 75)
self.canvas = FigureCanvasWx(self,-1, self.fig)
self.toolbar = Toolbar(self.canvas)
self.toolbar.Realize()
# On Windows, default frame size behaviour is incorrect
# you don't need this under Linux
tw, th = self.toolbar.GetSizeTuple()
fw, fh = self.canvas.GetSizeTuple()
self.toolbar.SetSize(wxSize(fw, th))
# Create a figure manager to manage things
self.figmgr = FigureManager(self.canvas, 1, self)
# Now put all into a sizer
sizer = wxBoxSizer(wxVERTICAL)
# This way of adding to sizer prevents resizing
#sizer.Add(self.fig, 0, wxLEFT|wxTOP)
# This way of adding to sizer allows resizing
sizer.Add(self.fig, 1, wxLEFT|wxTOP|wxGROW)
# Best to allow the toolbar to resize!
sizer.Add(self.toolbar, 0, wxGROW)
self.SetSizer(sizer)
self.Fit()
def plot_data(self, x,y):
"""
This function will plot the time series as output by odeint.
"""
# Use this line if using a toolbar
a = self.figmgr.add_subplot(111)
# Or this one if there is no toolbar
#a = Subplot(self.fig, 111)
nvar = min(y[0].shape)
for i in range(nvar):
a.plot (x,y[0][:,i])
#plot (x,timeseries[1])
a.set_xlabel('Time')
a.set_ylabel('Y[i]')
a.set_title('Time series')
#---generating tuple of
legends-------------------------------------------------
b = range(nvar)
leg = tuple(['y['+str(i)+']' for i in b])
#-------------------------------------------------------------------------------
a.legend(leg)
self.toolbar.update()
def plotStats(self,x, ts):
"""
This function will plot prior an posteriors for the model
variables and parameters.
"""
# Use this line if using a toolbar
a = self.figmgr.add_subplot(111)
# Or this one if there is no toolbar
#a = Subplot(self.fig, 111)
a.plot(x,ts[0], 'r-o',x,ts[1],'b-.', x,ts[2],'b-.')
def plotDist(data,vname):
"""
Plots histograms ofthe prior and posterior distributions of the
model components
meldOut is the output of the Melding.SIR function:
(w,qtiltheta,qtilphi,q1est)
"""
# Use this line if using a toolbar
a = self.figmgr.add_subplot(111)
# Or this one if there is no toolbar
#a = Subplot(self.fig, 111)
nb, bins, patches = a.hist(data, normed=1)
a.set_title('Prior Distribution')
a.set_xtitle(vname)
nvp = len(priors) # Get number of variable + parameters in the
model)
nlik = len (liks) # Get number of likelihood functions
for i in range(nvp):
nb, bins, patches = a.hist(priors[i], normed=1)
if i > 0:
a.figure(i+1)
a.set_title('Prior Distribution')
def GetToolBar(self):
# You will need to override GetToolBar if you are using an
# unmanaged toolbar in your frame
return self.toolbar
if __name__ == '__main__':
app = wxPySimpleApp()
frame = create(None)
x = normal(0,1,50)
y = normal(0,1,(5,50))
frame.plot_data(x,y)
frame.Show()
app.MainLoop()
|
|
From: John H. <jdh...@ac...> - 2004-03-10 20:04:24
|
>>>>> "Kuzminski," == Kuzminski, Stefan R <SKu...@fa...> writes:
Kuzminski,> Is there a way for the legend to be outside of the
Kuzminski,> axis? Perhaps rendered separately.
The current implementation of legend takes an axes instance in it's
constructor. I just did a read through of that code and it would be
trivial to factor it out. The only thing the legend uses that
instance for is the background color!
You could have a figure legend much in the same way you have figure
text. I can probably do it in 20 minutes. When I get 20 minutes,
I'll send you a patch....
JDH
|
|
From: Kuzminski, S. R <SKu...@fa...> - 2004-03-10 19:34:51
|
Is there a way for the legend to be outside of the axis? Perhaps rendered separately. =20 thanks, S |
|
From: Flavio C. C. <fcc...@fi...> - 2004-03-10 14:37:30
|
Interesting message from the Boa-constructor mailing list.... Anyone would be interested in helping? cheers -------- Mensagem Original -------- Assunto: [Boa Constr] matplotlib plugin Data: Tue, 9 Mar 2004 18:10:57 -0000 De: Ricardo Henriques <pax...@sa...> Para: Boa Constructor <boa...@li...> Ok... I´m going to check if I can make a boa plugin for the matplotlib WX backend. If anyone would like to help =) it would be great.. Tks eveyone for the input about the plotting librarys and features. Ricardo |
|
From: Al S. <a.d...@wo...> - 2004-03-09 22:18:24
|
There is a minor bug in the object_picker.py example. On the 2nd and
subsequent times a line is "picked", if the marker style had been
changed previously, the original marker choice "None" no longer appears
as a choice in the marker menu. I.e. there is no way to turn off a
previously selected marker.
Below is a (one line) patch that fixes this.
-Al
--
Al Schapira <a.d...@wo...>
*** /usr/local/matplotlib-0.51/examples/object_picker.py
2004-02-26 15:22:58.000000000 -0500
--- object_picker.py 2004-03-09 16:50:36.000000000 -0500
***************
*** 151,157 ****
marker = line.get_marker()
if marker is None: marker = 'None'
styles = [marker]
! for key in lineMarkers.keys():
if key == marker: continue
styles.append(key)
--- 151,157 ----
marker = line.get_marker()
if marker is None: marker = 'None'
styles = [marker]
! for key in keys:
if key == marker: continue
styles.append(key)
|
|
From: John H. <jdh...@ac...> - 2004-03-09 20:59:49
|
>>>>> "Trevor" == Trevor Blackwell <tl...@an...> writes:
Trevor> In backend_gtk.py, it does some antialiased rendering by
Trevor> direct manipulation of pixel values which is only correct
Trevor> for 24-bit TrueColor X11 visuals. I'm running a 16-bit (5
Trevor> red, 6 green, 5 blue) visual, so this produces visual
Trevor> junk.
Trevor> I think the right way to do it is with a Pixbuf, which
Trevor> handles alpha rendering. The code is much simpler and
Trevor> faster too. Here is a patch:
Nice!! Where did you learn that trick? pb.pixel_array is not
documented at
http://www.gnome.org/~james/pygtk-docs/class-gdkpixbuf.html.
This is great to know because I can use the same approach to port
image handling to gtk once I get that up and running.
FYI, your patch was line wrapped but it was simple enough to apply "by
eye".
JDH
|
|
From: Trevor B. <tl...@an...> - 2004-03-09 20:24:12
|
In backend_gtk.py, it does some antialiased rendering by direct
manipulation of pixel values which is only correct for 24-bit TrueColor
X11 visuals. I'm running a 16-bit (5 red, 6 green, 5 blue) visual, so
this produces visual junk.
I think the right way to do it is with a Pixbuf, which handles alpha
rendering. The code is much simpler and faster too. Here is a patch:
(This is from matplotlib-0.51.)
--- backends/backend_gtk.py~ Wed Mar 3 09:31:39 2004
+++ backends/backend_gtk.py Tue Mar 9 12:00:37 2004
@@ -350,47 +351,20 @@
xox = int(x+ox)
yoy = int(y+oy)
-
-
imw = min(imw, self.width-xox)
imh = min(imh, yoy)
- #print imw, imh, xox, yoy, self.width, self.height
- image = self.gdkDrawable.get_image(xox, self.height-yoy, imw,
imh)
- #return
-
-
- tr = int(rgb[0]*255) # text red
- tg = int(rgb[1]*255) # text green
- tb = int(rgb[2]*255) # text blue
-
- ind = indices(Xs.shape)
- numRows, numCols = Xs.shape
- ind.shape = 2, numRows*numCols
- Xs.shape = numRows*numCols,
- visible = nonzero(Xs>0)
- Xs.shape = numRows,numCols
- for thisInd in visible:
- j,i = ind[:,thisInd]
- if i >= imw: continue
- if j >= imh: continue
- pixel = image.get_pixel(i, j)
- br = (pixel >> 16) & 0xff # background red
- bg = (pixel >> 8 ) & 0xff
- bb = (pixel >> 0) & 0xff
- #print br, bg, bb, Xs[j,i]
-
- alpha = int((255-Xs[j,i])*255)
-
- nr = (((br - tr) * alpha) + (tr << 16)) >> 16
- ng = (((bg - tg) * alpha) + (tg << 16)) >> 16
- nb = (((bb - tb) * alpha) + (tb << 16)) >> 16
- newpixel = (nr<<16) + (ng<<8) + (nb)
-
- image.put_pixel(i, j, newpixel)
- self.gdkDrawable.draw_image(gc.gdkGC, image, 0, 0,
- xox, self.height-yoy, imw, imh)
+ pb=gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,
+ has_alpha=1, bits_per_sample=8, width=imw,
height=imh)
+ pbpix=pb.pixel_array
+ pbpix[:,:,3]=Xs
+ pbpix[:,:,0]=int(rgb[0]*255)
+ pbpix[:,:,1]=int(rgb[1]*255)
+ pbpix[:,:,2]=int(rgb[2]*255)
+ pb.render_to_drawable(self.gdkDrawable, gc.gdkGC, 0, 0, xox,
self.height-yoy, imw, imh,
+ gdk.RGB_DITHER_NONE, 0, 0)
+
if 0:
self.gdkDrawable.draw_rectangle(
gc.gdkGC, 0, xox,
--
Trevor Blackwell tl...@an... (650) 210-9272
|
|
From: John H. <jdh...@ac...> - 2004-03-09 17:41:19
|
>>>>> "Kuzminski," == Kuzminski, Stefan R <SKu...@fa...> writes:
Stephan> The GD output looks good when printed, maybe I will
Stephan> switch between the 2 ( Agg for display, GD for
Stephan> printing ). The Agg un-aliased lines don't come out
Stephan> quite as well, they seem to render more of the pixels
Stephan> for each point on the line. Nice to have the
Stephan> different backend options.
This has to do with how agg handles subpixel positioning - I've
emailed the agg list and gotten some advice but haven't come up with a
good system to make the lines appear the same thickness in the aliased
and antialiased cases. I'm still working on it.
In the meantime, here is a little backend magic that will make it
easier for you to print to your backend of choice. This example
displays the image in the default GUI (GTKAgg for me) and prints
with GD.
from matplotlib.backends.backend_gd import FigureCanvasGD
from matplotlib.matlab import *
plot([1,2,3])
manager = get_current_fig_manager()
canvasgd = manager.canvas.switch_backends(FigureCanvasGD)
canvasgd.print_figure('gdfig')
show()
print_figure takes the same args as savefig.
gd has a pesky color allocation bug that I haven't figured out that
you may bump into.
JDH
|
|
From: Kuzminski, S. R <SKu...@fa...> - 2004-03-09 17:23:43
|
The GD output looks good when printed, maybe I will switch between the 2
( Agg for display, GD for printing ). The Agg un-aliased lines don't
come out quite as well, they seem to render more of the pixels for each
point on the line. Nice to have the different backend options.
S =20
-----Original Message-----
From: John Hunter [mailto:jdh...@ni...]=20
Sent: Monday, March 08, 2004 8:37 AM
To: Kuzminski, Stefan R
Cc: mat...@li...
Subject: Re: [Matplotlib-users] simple api question
>>>>> "Kuzminski," =3D=3D Kuzminski, Stefan R <SKu...@fa...>
writes:
Kuzminski> Thanks, that worked for the line being plotted,
Kuzminski> although the legend box and axis are still aliased.
Kuzminski> Part of my requirements include supporting
Kuzminski> presentation quality printing. I would like to just
Kuzminski> use Agg as GD has dependency issues and keeps popping
Kuzminski> up other problems ( not to mention how great the Agg
Kuzminski> output looks ). But that great looking anti-aliasing
Kuzminski> doesn't print well, so ideally there would be a
Kuzminski> 'global' level flag that controls aliasing ( or not )
Kuzminski> for everything drawn. I know when the image is being
Kuzminski> created for viewing or for printing and so can set the
Kuzminski> flag accordingly.
I'll work on getting the rest of the objects to respect the
antialiased flag. You can control antialiasing for all lines globally
with rcParams
http://matplotlib.sourceforge.net/faq.html#CUSTOM
JDH
|
|
From: John H. <jdh...@ac...> - 2004-03-09 14:00:33
|
>>>>> "Flavio" == Flavio Codeco Coelho <fcc...@ci...> writes:
Flavio> I cant install matplotlib because it cant find some files
Flavio> in the Font tools tree.
Note if you just want wx, set all the BUILD_* flags in setup.py to 0
and distutils won't compile anything; wx doesn't depend on any of the
extension code. If you do want to build the extensions from CVS, read
on.
CVS doesn't have a complete version of the FontTools* and ttfquery
that are needed to build the extensions. An increasing number of
matplotlib backends need font-finding capabilities which FontTools and
ttfquery provide. However, they are a pain to install and Paul
Barrett has been working on a replacement. At one point I added them
to CVS since I was distributing them with matplotlib but thought twice
about it and tried to remove them. However despite multiple attempts
I have not been able to get them out of CVS. No in a nutshell there
is an incomplete version of FontTools and ttfquery in CVS, and I'm not
too inclined to add them since they will be purged in short order in
any case with the new fontfinder.
If you want to build from CVS, copy the agg, FontTools* and ttfquery
dirs/files from the 0.51 src distro into the CVS tree and build from
there. This will all be cleared up soon.
JDH
|
|
From: Flavio C. C. <fcc...@ci...> - 2004-03-09 13:34:54
|
errata of my last message: I meant to say that: these folders did not come with cvs update -d Summarizing, I cant install matplotlib because it cant find some files in the Font tools tree. |
|
From: Flavio C. C. <fcc...@fi...> - 2004-03-09 13:29:43
|
hi, I am trying to install the latest CVS and I am getting the following error message: root@iprocc1-164 matplotlib]# python setup.py install running install running build running build_py package init file 'ttfquery/__init__.py' not found (or not a regular file) package init file 'FontTools/__init__.py' not found (or not a regular file) package init file 'FontTools/fontTools/__init__.py' not found (or not a regular file) package init file 'FontTools/fontTools/encodings/__init__.py' not found (or not a regular file) error: package directory 'FontTools/fontTools/misc' does not exist [root@iprocc1-164 matplotlib]# python setup.py install running install running build running build_py package init file 'ttfquery/__init__.py' not found (or not a regular file) package init file 'FontTools/__init__.py' not found (or not a regular file) package init file 'FontTools/fontTools/__init__.py' not found (or not a regular file) package init file 'FontTools/fontTools/encodings/__init__.py' not found (or not a regular file) error: package directory 'FontTools/fontTools/misc' does not exist these folder did come with cvs update -d what wrong here? thanks for any help... FLavio |
|
From: Flavio C. C. <fcc...@fi...> - 2004-03-09 12:26:32
|
HI everybody, I dont know if any of you is aware of the boa-constructor python IDE and wx gui builder. I use it and subscribe to its mailing list. Recently, there was this discussion about having some scientific plotting controls added to Boa. I include below, a message from Boa's main developer, Ryaan Booysen, where he gives some pointers to anyone that might be interested in adding plotting controls to Boa. They are talking about Chaco, but as far as I know, Chaco development is stalled and Matplotlib is far superior (IMHO). I believe that if anyone is interested in doing that should contact Ryaan. He is a very nice guy. I also believe that it would greatly improve the visibility of matplotlib since Boa has a very large user base. Well, its just an idea. have fun Flavio -----Forwarded Message----- From: Riaan Booysen <riaan@e.co.za> To: Ricardo Henriques <pax...@sa...> Cc: boa...@li... <boa...@li...> Subject: Re: [Boa Constr] Fw: Any Chaco plugins? Date: Tue, 09 Mar 2004 13:33:00 +0200 Hi Ricardo, Ricardo Henriques wrote: > Hi... > I sucessfully used Boa to help me build scientific applications. I normally > use wxPyPlot to plot graphics witch has a plug-in for Boa, it is quite > alright, but sometimes I nead a plotting library with more features like > Chaco found at www.scipy.org . Anyone knows any plug-in for this plotting > library or any other than wxPyPlot? > Where can I get some information about how to build a plug-in for Boa? > Tks... You may look at the examples for adding a control in Plug-ins/UserCompanions.py I suggest you first try to use the Custom Classes feature to use a Chaco Plot window in the Designer. See Docs/boa/apphelp/MixingSource.html This might be a simpler option. Cheers, Riaan. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Boa-constructor-users mailing list Boa...@li... https://lists.sourceforge.net/lists/listinfo/boa-constructor-users |
|
From: John H. <jdh...@ac...> - 2004-03-09 11:53:31
|
>>>>> "Vincent" == Vincent BOYER <bo...@cl...> writes:
Vincent> Is there a way to do that in Matplotlib? Does the Matlab
Vincent> command "hold" have a equivalent in Matplotlib? I didn't
Vincent> find it, and if it exists, then I could plot the lines of
Vincent> the matrix Y one by one.
Hold is on by default. So you can do
for y in Y:
plot(x,y)
To clear the axes between plot commands, use gca.
Hope this helps,
JDH
|
|
From: Vincent B. <bo...@cl...> - 2004-03-09 11:18:40
|
Hi.
I'm trying to plot a matrice against a vector using Matplotlib.
Something like we can do with Matlab :
plot(x,Y)
where
x is an Numeric.array of shape (n,)
Yis an Numeric.array of shape (m,n)
Is there a way to do that in Matplotlib?
Does the Matlab command "hold" have a equivalent in Matplotlib? I didn't
find it, and if it exists, then I could plot the lines of the matrix Y
one by one.
Thank you for any information.
Vincent
|