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) |
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
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 >
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
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
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
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
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 >
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
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
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
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 >
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 >
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
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
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
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
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
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
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
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
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
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
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.
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.
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