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
(13) |
2
(3) |
|
3
(4) |
4
(24) |
5
(12) |
6
(11) |
7
(14) |
8
(17) |
9
(3) |
|
10
(5) |
11
(23) |
12
(7) |
13
(9) |
14
(17) |
15
(1) |
16
(2) |
|
17
(2) |
18
(11) |
19
(14) |
20
(9) |
21
(13) |
22
(12) |
23
(1) |
|
24
|
25
(7) |
26
(11) |
27
(20) |
28
(19) |
29
(11) |
30
(1) |
|
From: Antonino I. <tri...@gm...> - 2007-06-20 09:36:12
|
Hi, 2007/6/19, Antoine Sirinelli <mat...@mo...>: > On Tue, Jun 19, 2007 at 02:12:28PM +0200, David Tremouilles wrote: > > Pyplotsuite is another pygtk project using matplotlib. > > It is developed by Antonino Ingargiola. > > http://pyplotsuite.sourceforge.net/ > > Could be maybe interesting to join the effort on providing nice pygtk > > tools for matplotlib sharing common elements of this two projects. > > Just a suggestion... > > Interesting project. Thanks for the link, I didn't know this project. Because has not been announced anywhere yet :D. Antoine, I like the idea of your script. I really would like to see a such thing included in matplotlib eventually. It would help either to quick modify *all* the plot parameters and to have an immediate visual representation of the matplotlib hierarchies. So would help both matplotlib script's users and (matplotlib) programmers as well. As suggestion I think would be useful to divide the properties in three groups: free text, number and list and use for each of then a text entry, a spin button or a combo box. Don't be offended if this is obvious to you :). I've implemented a somewhat similar dialog for Plotfile2 (one of the two scripts composing PyPlotSuite). My dialog although "similar" is more limited in scope. If you are interested you can see the dialog class here (line 566): http://repo.or.cz/w/pyplotsuite.git?a=blob;f=plotfile2.py;h=aa089c3e09957d36396e4f3b97fbfb38d58c44de;hb=HEAD and a screenshot to see how it looks like: http://pyplotsuite.sourceforge.net/images/plotfile2-screenshot2.png I will use your implementation and John Hunter's DialogLineprops as source of inspiration. Thanks... > > I'm very pleased to see there is an active and growing community using > > matplotlib together with pygtk. > > I am using pygtk and matplotlib in my work for building interfaces to > data analysis programs (numpy, scipy and C). I've do this for my own purpose. After a while I decided to publish some of my scripts so PyPlotSuite was born. The purpose is to allow the user to visualize/analyze data without knowing python or matplotlib. Ideally my scripts would be associated to specific file types so that the file manager opens the data with the correct "visualizer" (at least this is how I use them). I'm open in any kind of collaboration, in both senses. I'm just a bit limited in time ATM. Regards, ~ Antonio |
|
From: tocer <toc...@gm...> - 2007-06-20 03:54:11
|
Thank your reply. It seems to be helpful for me. John Hunter wrote:: > On 6/19/07, tocer <toc...@gm...> wrote: >> I have a project coding with Delphi+p4d, and I wish embeded pylab in >> it, but I >> don't know how to do it. >> >> Any suggestion is appreciate. > > You should follow the lead of one of the *Agg backends, eg > backend_qtagg4.py. The basic approach is to use some GUI library for > window management, buttons, etc, and use the matplotlib Agg rendering > library to create your image. That way you don't have to worry about > any of the GUI drawing functions, and can just transfer the Agg canvas > into the GUI canvas via a pixel buffer transfer. > > See lib/matplotlib/backends/backend_template.py for more info -- if > you use the approach suggested above, you will not need to implemented > the renderer or graphics context classes, only the figure canvas and > manager. > > JDH > |
|
From: Antoine S. <mat...@mo...> - 2007-06-19 18:48:24
|
On Tue, Jun 19, 2007 at 02:12:28PM +0200, David Tremouilles wrote: > Pyplotsuite is another pygtk project using matplotlib. > It is developed by Antonino Ingargiola. > http://pyplotsuite.sourceforge.net/ > Could be maybe interesting to join the effort on providing nice pygtk > tools for matplotlib sharing common elements of this two projects. > Just a suggestion... Interesting project. Thanks for the link, I didn't know this project. > I'm very pleased to see there is an active and growing community using > matplotlib together with pygtk. I am using pygtk and matplotlib in my work for building interfaces to data analysis programs (numpy, scipy and C). Antoine |
|
From: Antoine S. <mat...@mo...> - 2007-06-19 18:43:59
|
On Tue, Jun 19, 2007 at 08:46:17AM -0500, John Hunter wrote: > * you may want to use a gtk.Table for your label/entry pairs in your > dialog editor. Everything will line up much more nicely It was on my TODO list. Now it's done. > * you should not explicitly require pygtk 2.0. Noone is using pygtk1 > anymore and this will cause some pygth2 installations to fail (like > mine!) OK. I never understood indeed why in most of the pygtk exemple this line was present. I have removed it. > * you may want to look at the line editor dialog in backend_gtk.py for > inspiration. This uses drop down menus for linestyles, color dialog > boxes to pick colors, etc... I'll paste in the code below Ok, I'll have a look. I was thinking of this kind of menu. Thanks, Antoine |
|
From: Tommy G. <tg...@ma...> - 2007-06-19 15:59:40
|
I have an array of absolute magnitudes Hlist and would like to
plot a cumulative histogram. Is there an easy way to do this
in matplotlib?
Cheers
Tommy
|
|
From: John H. <jd...@gm...> - 2007-06-19 15:33:31
|
On 6/19/07, David Tremouilles <dav...@gm...> wrote: > Where can I find the lineprops.glade file ? It should be in mpl-data but it was removed from svn at some point. I just tried readding it but svn is not letting me commit. I'll attach it here |
|
From: David T. <dav...@gm...> - 2007-06-19 15:22:30
|
Where can I find the lineprops.glade file ?
Thanks in advance,
David
2007/6/19, John Hunter <jd...@gm...>:
> On 6/19/07, Antoine Sirinelli <mat...@mo...> wrote:
> > Hi,
> >
> > I have written a small pygtk script to allow dynamic editing of the
> > current graphs. It is useful in interactive use of matplotlib. It can
> > handle figures, axes, text, images, lines properties. You can copy lines
> > from one axes to an other one or delete elements. Finally you can save
> > the data in ASCII. Before doing more developments, I'd like to know if
> > such a tool already exists. Otherwise, your comments are welcome.
> >
>
>
> Hi Antonione --
>
> this is a nice start. A couple of suggestions
>
> * you may want to use a gtk.Table for your label/entry pairs in your
> dialog editor. Everything will line up much more nicely
>
> * you should not explicitly require pygtk 2.0. Noone is using pygtk1
> anymore and this will cause some pygth2 installations to fail (like
> mine!)
>
> * you may want to look at the line editor dialog in backend_gtk.py for
> inspiration. This uses drop down menus for linestyles, color dialog
> boxes to pick colors, etc... I'll paste in the code below
>
> Thanks,
> JDH
>
> class DialogLineprops:
> """
> A GUI dialog for controlling lineprops
> """
> signals = (
> 'on_combobox_lineprops_changed',
> 'on_combobox_linestyle_changed',
> 'on_combobox_marker_changed',
> 'on_colorbutton_linestyle_color_set',
> 'on_colorbutton_markerface_color_set',
> 'on_dialog_lineprops_okbutton_clicked',
> 'on_dialog_lineprops_cancelbutton_clicked',
> )
>
> linestyles = (
> '-' ,
> '--' ,
> '-.' ,
> ',' ,
> 'steps',
> 'None' ,
> )
>
> linestyled = dict([ (s,i) for i,s in enumerate(linestyles)])
>
>
> markers = (
> 'None',
> '.' ,
> ',' ,
> 'o' ,
> 'v' ,
> '^' ,
> '<' ,
> '>' ,
> '1' ,
> '2' ,
> '3' ,
> '4' ,
> 's' ,
> 'p' ,
> 'h' ,
> 'H' ,
> '+' ,
> 'x' ,
> 'D' ,
> 'd' ,
> '|' ,
> '_' ,
> )
>
> markerd = dict([(s,i) for i,s in enumerate(markers)])
>
> def __init__(self, lines):
>
> datadir = matplotlib.get_data_path()
> gladefile = os.path.join(datadir, 'lineprops.glade')
> if not os.path.exists(gladefile):
> raise IOError('Could not find gladefile lineprops.glade in
> %s'%datadir)
>
> self._inited = False
> self._updateson = True # suppress updates when setting widgets manually
> self.wtree = gtk.glade.XML(gladefile, 'dialog_lineprops')
> self.wtree.signal_autoconnect(dict([(s, getattr(self, s)) for
> s in self.signals]))
>
> self.dlg = self.wtree.get_widget('dialog_lineprops')
>
> self.lines = lines
>
> cbox = self.wtree.get_widget('combobox_lineprops')
> cbox.set_active(0)
> self.cbox_lineprops = cbox
>
> cbox = self.wtree.get_widget('combobox_linestyles')
> for ls in self.linestyles:
> cbox.append_text(ls)
> cbox.set_active(0)
> self.cbox_linestyles = cbox
>
> cbox = self.wtree.get_widget('combobox_markers')
> for m in self.markers:
> cbox.append_text(m)
> cbox.set_active(0)
> self.cbox_markers = cbox
> self._lastcnt = 0
> self._inited = True
>
>
> def show(self):
> 'populate the combo box'
> self._updateson = False
> # flush the old
> cbox = self.cbox_lineprops
> for i in range(self._lastcnt-1,-1,-1):
> cbox.remove_text(i)
>
> # add the new
> for line in self.lines:
> cbox.append_text(line.get_label())
> cbox.set_active(0)
>
> self._updateson = True
> self._lastcnt = len(self.lines)
> self.dlg.show()
>
> def get_active_line(self):
> 'get the active line'
> ind = self.cbox_lineprops.get_active()
> line = self.lines[ind]
> return line
>
>
> def get_active_linestyle(self):
> 'get the active lineinestyle'
> ind = self.cbox_linestyles.get_active()
> ls = self.linestyles[ind]
> return ls
>
> def get_active_marker(self):
> 'get the active lineinestyle'
> ind = self.cbox_markers.get_active()
> m = self.markers[ind]
> return m
>
> def _update(self):
> 'update the active line props from the widgets'
> if not self._inited or not self._updateson: return
> line = self.get_active_line()
> ls = self.get_active_linestyle()
> marker = self.get_active_marker()
> line.set_linestyle(ls)
> line.set_marker(marker)
>
> button = self.wtree.get_widget('colorbutton_linestyle')
> color = button.get_color()
> r, g, b = [val/65535. for val in color.red, color.green, color.blue]
> line.set_color((r,g,b))
>
> button = self.wtree.get_widget('colorbutton_markerface')
> color = button.get_color()
> r, g, b = [val/65535. for val in color.red, color.green, color.blue]
> line.set_markerfacecolor((r,g,b))
>
> line.figure.canvas.draw()
>
>
>
> def on_combobox_lineprops_changed(self, item):
> 'update the widgets from the active line'
> if not self._inited: return
> self._updateson = False
> line = self.get_active_line()
>
> ls = line.get_linestyle()
> if ls is None: ls = 'None'
> self.cbox_linestyles.set_active(self.linestyled[ls])
>
> marker = line.get_marker()
> if marker is None: marker = 'None'
> self.cbox_markers.set_active(self.markerd[marker])
>
> r,g,b = colorConverter.to_rgb(line.get_color())
> color = gtk.gdk.Color(*[int(val*65535) for val in r,g,b])
> button = self.wtree.get_widget('colorbutton_linestyle')
> button.set_color(color)
>
> r,g,b = colorConverter.to_rgb(line.get_markerfacecolor())
> color = gtk.gdk.Color(*[int(val*65535) for val in r,g,b])
> button = self.wtree.get_widget('colorbutton_markerface')
> button.set_color(color)
> self._updateson = True
>
> def on_combobox_linestyle_changed(self, item):
> self._update()
>
> def on_combobox_marker_changed(self, item):
> self._update()
>
> def on_colorbutton_linestyle_color_set(self, button):
> self._update()
>
> def on_colorbutton_markerface_color_set(self, button):
> 'called colorbutton marker clicked'
> self._update()
>
> def on_dialog_lineprops_okbutton_clicked(self, button):
> self._update()
> self.dlg.hide()
>
> def on_dialog_lineprops_cancelbutton_clicked(self, button):
> self.dlg.hide()
>
>
> > You can find the script here (Quick & Dirty coding style) :
> > http://mpl-properties.googlecode.com/svn/trunk/mpl_properties.py
> >
> > to test it, in an interactive pylab session with figures and plots, just
> > type these 2 commands:
> >
> > import mpl_properties
> > mpl_properties.properties()
> >
> > Antoine
> >
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|
|
From: John H. <jd...@gm...> - 2007-06-19 15:08:21
|
On 6/14/07, Stephen George <ste...@op...> wrote:
> This is absolutely fantastic, does everything I want, 1/2 hr after
> getting to work, I had it up and running in my application.
>
> I do have a question though.
>
> I had not seen mention of SpanSelector before in documentation.
> And I do feel confusion about where to find the best documentation.
Sorry for the delayed response. The best place to start is in the
matplotlib examples directory. There are some 200 odd examples
johnh@flag:examples> find . -name "*.py"|wc
233 233 4420
Almost every feature in mpl is illustrated there with working example
code. Yes it would be nice to have a comprehensive user's guide, but
until then, the path to enlightenment is to work through the examples.
In particular, in the examples/widgets dir, you'll find
widgets/span_selector.py
Hope this helps,
JDH
|
|
From: John H. <jd...@gm...> - 2007-06-19 15:05:36
|
On 6/18/07, Thanos Panousis <pt...@gm...> wrote: > Hello everybody and a bit thanks to the matplotlib team. Its great stuff. > > I would like to place the minor ticks for days, lower than the major ticks > for hours, so that they are visible. Right now they overlap each other. I > would like to achieve a result like > > 11:00 12:00 01:00 > | > Monday > > The vertical line is not important, I just need days to be lower than hours. > > The pythonic API could certainly use more documentation. Pylab is good but > only for working in the same fashion as matlab. I think you might get what you want by setting the tick "pad". See the help for matplotlib.axis.Tick. From the python shell type import matplotlib.axis help(matplotlib.axis.Tick) or see the online documentation at http://matplotlib.sourceforge.net/matplotlib.axis.html#Tick Eg, for tick in ax.xaxis.get_major_ticks(): tick.set_pad(12) You can also set the default for this parameter in your configuration file. See http://matplotlib.sourceforge.net/matplotlibrc JDH |
|
From: John H. <jd...@gm...> - 2007-06-19 14:59:32
|
On 6/19/07, tocer <toc...@gm...> wrote: > I have a project coding with Delphi+p4d, and I wish embeded pylab in it, but I > don't know how to do it. > > Any suggestion is appreciate. You should follow the lead of one of the *Agg backends, eg backend_qtagg4.py. The basic approach is to use some GUI library for window management, buttons, etc, and use the matplotlib Agg rendering library to create your image. That way you don't have to worry about any of the GUI drawing functions, and can just transfer the Agg canvas into the GUI canvas via a pixel buffer transfer. See lib/matplotlib/backends/backend_template.py for more info -- if you use the approach suggested above, you will not need to implemented the renderer or graphics context classes, only the figure canvas and manager. JDH |
|
From: John H. <jd...@gm...> - 2007-06-19 13:46:20
|
On 6/19/07, Antoine Sirinelli <mat...@mo...> wrote:
> Hi,
>
> I have written a small pygtk script to allow dynamic editing of the
> current graphs. It is useful in interactive use of matplotlib. It can
> handle figures, axes, text, images, lines properties. You can copy lines
> from one axes to an other one or delete elements. Finally you can save
> the data in ASCII. Before doing more developments, I'd like to know if
> such a tool already exists. Otherwise, your comments are welcome.
>
Hi Antonione --
this is a nice start. A couple of suggestions
* you may want to use a gtk.Table for your label/entry pairs in your
dialog editor. Everything will line up much more nicely
* you should not explicitly require pygtk 2.0. Noone is using pygtk1
anymore and this will cause some pygth2 installations to fail (like
mine!)
* you may want to look at the line editor dialog in backend_gtk.py for
inspiration. This uses drop down menus for linestyles, color dialog
boxes to pick colors, etc... I'll paste in the code below
Thanks,
JDH
class DialogLineprops:
"""
A GUI dialog for controlling lineprops
"""
signals = (
'on_combobox_lineprops_changed',
'on_combobox_linestyle_changed',
'on_combobox_marker_changed',
'on_colorbutton_linestyle_color_set',
'on_colorbutton_markerface_color_set',
'on_dialog_lineprops_okbutton_clicked',
'on_dialog_lineprops_cancelbutton_clicked',
)
linestyles = (
'-' ,
'--' ,
'-.' ,
',' ,
'steps',
'None' ,
)
linestyled = dict([ (s,i) for i,s in enumerate(linestyles)])
markers = (
'None',
'.' ,
',' ,
'o' ,
'v' ,
'^' ,
'<' ,
'>' ,
'1' ,
'2' ,
'3' ,
'4' ,
's' ,
'p' ,
'h' ,
'H' ,
'+' ,
'x' ,
'D' ,
'd' ,
'|' ,
'_' ,
)
markerd = dict([(s,i) for i,s in enumerate(markers)])
def __init__(self, lines):
datadir = matplotlib.get_data_path()
gladefile = os.path.join(datadir, 'lineprops.glade')
if not os.path.exists(gladefile):
raise IOError('Could not find gladefile lineprops.glade in
%s'%datadir)
self._inited = False
self._updateson = True # suppress updates when setting widgets manually
self.wtree = gtk.glade.XML(gladefile, 'dialog_lineprops')
self.wtree.signal_autoconnect(dict([(s, getattr(self, s)) for
s in self.signals]))
self.dlg = self.wtree.get_widget('dialog_lineprops')
self.lines = lines
cbox = self.wtree.get_widget('combobox_lineprops')
cbox.set_active(0)
self.cbox_lineprops = cbox
cbox = self.wtree.get_widget('combobox_linestyles')
for ls in self.linestyles:
cbox.append_text(ls)
cbox.set_active(0)
self.cbox_linestyles = cbox
cbox = self.wtree.get_widget('combobox_markers')
for m in self.markers:
cbox.append_text(m)
cbox.set_active(0)
self.cbox_markers = cbox
self._lastcnt = 0
self._inited = True
def show(self):
'populate the combo box'
self._updateson = False
# flush the old
cbox = self.cbox_lineprops
for i in range(self._lastcnt-1,-1,-1):
cbox.remove_text(i)
# add the new
for line in self.lines:
cbox.append_text(line.get_label())
cbox.set_active(0)
self._updateson = True
self._lastcnt = len(self.lines)
self.dlg.show()
def get_active_line(self):
'get the active line'
ind = self.cbox_lineprops.get_active()
line = self.lines[ind]
return line
def get_active_linestyle(self):
'get the active lineinestyle'
ind = self.cbox_linestyles.get_active()
ls = self.linestyles[ind]
return ls
def get_active_marker(self):
'get the active lineinestyle'
ind = self.cbox_markers.get_active()
m = self.markers[ind]
return m
def _update(self):
'update the active line props from the widgets'
if not self._inited or not self._updateson: return
line = self.get_active_line()
ls = self.get_active_linestyle()
marker = self.get_active_marker()
line.set_linestyle(ls)
line.set_marker(marker)
button = self.wtree.get_widget('colorbutton_linestyle')
color = button.get_color()
r, g, b = [val/65535. for val in color.red, color.green, color.blue]
line.set_color((r,g,b))
button = self.wtree.get_widget('colorbutton_markerface')
color = button.get_color()
r, g, b = [val/65535. for val in color.red, color.green, color.blue]
line.set_markerfacecolor((r,g,b))
line.figure.canvas.draw()
def on_combobox_lineprops_changed(self, item):
'update the widgets from the active line'
if not self._inited: return
self._updateson = False
line = self.get_active_line()
ls = line.get_linestyle()
if ls is None: ls = 'None'
self.cbox_linestyles.set_active(self.linestyled[ls])
marker = line.get_marker()
if marker is None: marker = 'None'
self.cbox_markers.set_active(self.markerd[marker])
r,g,b = colorConverter.to_rgb(line.get_color())
color = gtk.gdk.Color(*[int(val*65535) for val in r,g,b])
button = self.wtree.get_widget('colorbutton_linestyle')
button.set_color(color)
r,g,b = colorConverter.to_rgb(line.get_markerfacecolor())
color = gtk.gdk.Color(*[int(val*65535) for val in r,g,b])
button = self.wtree.get_widget('colorbutton_markerface')
button.set_color(color)
self._updateson = True
def on_combobox_linestyle_changed(self, item):
self._update()
def on_combobox_marker_changed(self, item):
self._update()
def on_colorbutton_linestyle_color_set(self, button):
self._update()
def on_colorbutton_markerface_color_set(self, button):
'called colorbutton marker clicked'
self._update()
def on_dialog_lineprops_okbutton_clicked(self, button):
self._update()
self.dlg.hide()
def on_dialog_lineprops_cancelbutton_clicked(self, button):
self.dlg.hide()
> You can find the script here (Quick & Dirty coding style) :
> http://mpl-properties.googlecode.com/svn/trunk/mpl_properties.py
>
> to test it, in an interactive pylab session with figures and plots, just
> type these 2 commands:
>
> import mpl_properties
> mpl_properties.properties()
>
> Antoine
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|
|
From: David T. <dav...@gm...> - 2007-06-19 12:12:41
|
Very nice and useful script Antoine ! I have never heard about such a script before. Pyplotsuite is another pygtk project using matplotlib. It is developed by Antonino Ingargiola. http://pyplotsuite.sourceforge.net/ Could be maybe interesting to join the effort on providing nice pygtk tools for matplotlib sharing common elements of this two projects. Just a suggestion... I'm very pleased to see there is an active and growing community using matplotlib together with pygtk. Regards, David 2007/6/19, Antoine Sirinelli <mat...@mo...>: > Hi, > > I have written a small pygtk script to allow dynamic editing of the > current graphs. It is useful in interactive use of matplotlib. It can > handle figures, axes, text, images, lines properties. You can copy lines > from one axes to an other one or delete elements. Finally you can save > the data in ASCII. Before doing more developments, I'd like to know if > such a tool already exists. Otherwise, your comments are welcome. > > You can find the script here (Quick & Dirty coding style) : > http://mpl-properties.googlecode.com/svn/trunk/mpl_properties.py > > to test it, in an interactive pylab session with figures and plots, just > type these 2 commands: > > import mpl_properties > mpl_properties.properties() > > Antoine > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Antoine S. <mat...@mo...> - 2007-06-19 11:38:20
|
Hi, I have written a small pygtk script to allow dynamic editing of the current graphs. It is useful in interactive use of matplotlib. It can handle figures, axes, text, images, lines properties. You can copy lines from one axes to an other one or delete elements. Finally you can save the data in ASCII. Before doing more developments, I'd like to know if such a tool already exists. Otherwise, your comments are welcome. You can find the script here (Quick & Dirty coding style) : http://mpl-properties.googlecode.com/svn/trunk/mpl_properties.py to test it, in an interactive pylab session with figures and plots, just type these 2 commands: import mpl_properties mpl_properties.properties() Antoine |
|
From: tocer <toc...@gm...> - 2007-06-19 10:28:08
|
I have a project coding with Delphi+p4d, and I wish embeded pylab in it, but I don't know how to do it. Any suggestion is appreciate. --tocer |
|
From: fred <fr...@gm...> - 2007-06-18 16:19:37
|
fred a écrit : I get anoter issue now. How can I know if the displayed image has been zoomed or not (I mean not on testing xlim & ylim) ? TIA -- http://scipy.org/FredericPetit |
|
From: John H. <jd...@gm...> - 2007-06-18 15:38:30
|
On 6/18/07, Itai Arad <it...@gm...> wrote:
> I am trying to produce a very simple EPS figure, but the EPS file is
> different than what I see on the screen in the GTKAgg window, or when
> I save the figure as a PNG file. It looks like the coordinate system
> in the PS case is different, and so the objects in the figure are
> placed in different locations.
There appears to be a problem with Agg -- not sure about PS yet. We
recently added support for "true ellipses" using arcs rather than
polygons, and it appears we have messed something up. Charlie, take a
look at this case -- depending on the y-zoom the x extent of the
ellipse is different:
from pylab import figure, show
from matplotlib.patches import Ellipse
xy = 0.38,0.52
props = dict(xy=xy, width=1e-1, height=3e-1,
facecolor='red',
angle=30.0, linewidth=2, fill=True, alpha=0.5)
e1 = Ellipse(**props)
e2 = Ellipse(**props)
fig = figure()
ax1 = fig.add_subplot(211)
ax1.add_artist(e1)
ax1.set_xlim(-.1, .7)
ax1.set_ylim(0.35, .7)
ax2 = fig.add_subplot(212, sharex=ax1)
ax2.add_artist(e2)
ax2.set_ylim(0.4, .6)
show()
Any ideas?
JDH
|
|
From: John H. <jd...@gm...> - 2007-06-18 14:39:06
|
On 6/17/07, Duncan Child <dun...@gm...> wrote: > We would like to provide a Matplotlib-like plotting function in a Java > application we are building. We can't require our users to install > native code so we can't use Matplotlib. > > We have a simple implementation that would be sufficient for v1.0 of > our application that uses jython and jfreechart. > > To re-implement the whole of Matplotlib would require a collaborative > effort and would take a while. You have to start somewhere though so I > thought I should post here to ask for advice. > > Does anyone have any comments or suggestions? I would think Java would have some pretty sophisticated plotting libraries and if you are committed to Java I would try and find/extend a native Java library. Porting mpl is probably not an option -- we use a fair amount of C++ with python bindings to do rendering and since you can't install client side code this approach probably won't work. One could use the SVG output combined with a Java SVG renderer.... Alternatively, if you have a client/server mode, you could generate your figures with matplotlib server side and send them to the client. JDH |
|
From: fred <fr...@gm...> - 2007-06-18 14:27:25
|
fred a écrit : > Sorry for the noise. Thanks anyway, Jouni, I fixed my issue thanks to you ;-) You showed me that the get_?lim methods were right, so I followed my feeling further. Cheers, -- http://scipy.org/FredericPetit |
|
From: fred <fr...@gm...> - 2007-06-18 14:19:58
|
fred a écrit : > Maybe I'm doing something wrong ? Yes :-) You only need to set extent to the const xmin/xmax & ymin/ymax and not those you get with get_xlim & get_ylim. Sorry for the noise. Cheers, -- http://scipy.org/FredericPetit |
|
From: fred <fr...@gm...> - 2007-06-18 14:10:56
|
Jouni K. Seppänen a écrit :
> Try:
>
> imshow(rand(50,50))
> # zoom with mouse
> xlim=getp(gca(), 'xlim'); ylim = getp(gca(), 'ylim')
> imshow(rand(50,50))
> setp(gca(), 'xlim', xlim); setp(gca(), 'ylim', ylim)
>
Well..., I forgot to mention something, sorry ;-)
I already apply this trick: I use get_{x,y}lim and set_{x,y}lim.
Which works almost fine.
In fact, I use a grid, which is defined by xmin, xmax, dx & ymin, ymax, dy.
I don't want do display on the axes the number of points, but the real world
axis dimension.
If xmin=ymin=0 and xmax=ymax=500 with dx=dy=1,
the trick does work fine.
Now, if I set xmax=ymax=1000 but dx=dy=2 (so I have the same number of
points)
I have to use imshow extent option, because of the use of _xlim & _ylim.
Please see http://fredantispam.free.fr/a.png without extent option,
http://fredantispam.free.fr/b.png with extent option.
But in this case, after zoomed,
see http://fredantispam.free.fr/c.png
the trick does not work anymore: x & y limits are right,
but the whole data is displayed by imshow.
see http://fredantispam.free.fr/d.png.
Maybe I'm doing something wrong ?
TIA.
Cheers,
--
http://scipy.org/FredericPetit
|
|
From: <jk...@ik...> - 2007-06-18 13:11:00
|
fred <fr...@gm...> writes: > imshow(rand(50,50)) > then zoom with the mouse and redo > imshow(rand(50,50)) > the zoom factor is not kept, ie xrange/yrange are still (0,50). > > How can I keep the zoom factor ? Try: imshow(rand(50,50)) # zoom with mouse xlim=getp(gca(), 'xlim'); ylim = getp(gca(), 'ylim') imshow(rand(50,50)) setp(gca(), 'xlim', xlim); setp(gca(), 'ylim', ylim) -- Jouni K. Seppänen http://www.iki.fi/jks |
|
From: fred <fr...@gm...> - 2007-06-18 11:39:13
|
Hi, I want to keep the image zoomed to the same factor for all my images. If I try ipython -pylab imshow(rand(50,50)) then zoom with the mouse and redo imshow(rand(50,50)) the zoom factor is not kept, ie xrange/yrange are still (0,50). How can I keep the zoom factor ? TIA. Cheers, -- http://scipy.org/FredericPetit |
|
From: Thanos P. <pt...@gm...> - 2007-06-18 09:20:22
|
Hello everybody and a bit thanks to the matplotlib team. Its great stuff.
I would like to place the minor ticks for days, lower than the major ticks
for hours, so that they are visible. Right now they overlap each other. I
would like to achieve a result like
11:00 12:00 01:00
|
Monday
The vertical line is not important, I just need days to be lower than hours.
The pythonic API could certainly use more documentation. Pylab is good but
only for working in the same fashion as matlab.
|
|
From: Itai A. <it...@gm...> - 2007-06-18 08:49:56
|
Hi,
I am using the matplotlib library that comes with Ubuntu 7.04. This is
version 0.87.7 with ESP ghostscript 8.15.4.
I am trying to produce a very simple EPS figure, but the EPS file is
different than what I see on the screen in the GTKAgg window, or when
I save the figure as a PNG file. It looks like the coordinate system
in the PS case is different, and so the objects in the figure are
placed in different locations.
The code that I am using is:
import matplotlib
from pylab import *
from matplotlib.patches import Ellipse
from matplotlib.text import Text
xy1=(0.38,0.52)
xy2=(0.5,0.5)
e1 = Ellipse(xy=xy1, width=1e-1, height=3e-1, \
angle=30.0, linewidth=2, fill=False)
e2 = Ellipse(xy=xy2, width=1e-1, height=3e-1, \
angle=-30, linewidth=2, fill=False)
ax=gca()
ax.add_artist(e1)
ax.add_artist(e2)
axis('off')
savefig('ellipse.eps')
savefig('ellipse.png')
If you run it and view the two files ellipse.eps and ellipse.png -
you'll notice they look different. In the PNG file the ellipses
intersect, but in the EPS file they don't.
What's wrong here?
Thanks,
Itai.
|
|
From: Peter H. <jp...@ar...> - 2007-06-18 08:19:04
|
Hello everybody, I am going through a real epic trying to build matplotlib on cygwin. Here is my environment: freetype-2.3.2 matplotlib-0.90.0 numpy-1.0.2 python-2.5-1 rebase 2.4.3-1 gcc-3.4.4-3 cygwin_NT-5.1 Here is what I tried to do: $ python setup.py build running build running build_py running build_ext building 'matplotlib._isnan' extension gcc -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I/usr/includ e -I. -I/usr/include/python2.5 -c src/_isnan.c -o build/temp.cygwin-1.5.24-i686- 2.5/src/_isnan.o gcc: fork: Resource temporarily unavailable error: command 'gcc' failed with exit status 1 Previous postings on various groups pointed to this being a manifestation of the dreaded rebase problem. I ran rebaseall from the ash shell and gave it another shot: $ python setup.py build running build running build_py running build_ext building 'matplotlib._isnan' extension gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-1.5.24-i686-2.5/src/_ isnan.o -L/usr/local/lib -L/usr/lib -L/usr/lib/python2.5/config -lpython2.5 -o b uild/lib.cygwin-1.5.24-i686-2.5/matplotlib/_isnan.dll gcc: fork: Resource temporarily unavailable error: command 'gcc' failed with exit status 1 Interestingly when I run the gcc command string from the dollar prompt, the .o file builds without a problem. Any Ideas? Regards, //Pete Harris |