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
(10) |
2
(6) |
3
(13) |
4
(3) |
5
(10) |
6
(4) |
7
(2) |
8
(15) |
9
(10) |
10
(44) |
11
(17) |
12
(9) |
13
(2) |
14
(2) |
15
(4) |
16
(8) |
17
(13) |
18
(11) |
19
(12) |
20
|
21
|
22
(10) |
23
(10) |
24
(11) |
25
(11) |
26
(9) |
27
(1) |
28
|
29
(15) |
30
(14) |
31
(7) |
|
|
|
On Aug 10, 2005, at 2:54 PM, Jeff Peery wrote: > Hello, I am running WXAgg in a wxPython application.=A0 Within my=20 > application I have embedded a python shell.=A0 =46rom within the shell = I=20 > want to run pyla. Will this conflict with WXAgg running in my WXApp?=20= > Thanks. I think everything should work okay, so long as you setup matplotlib to=20= use WXAgg as the backend before pylab is imported: import matplotlib matplotlib.use('WXAgg') import pylab However, pylab will manage its figure windows separately from the=20 FigureCanvasWxAgg instances you embed in your application. If you need=20= tighter integration (e.g. opening new figures in tabs of a window you=20 control), you'll need to write your own subclass of FigureManagerWx and=20= make the WXAgg backend use it. I'm not quite clear as to how you go=20 about doing so, but I'll be happy to help if I can. Another caveat is that there is no way to make the figure frames=20 children of another frame (e.g. the main window of your application). =20= wxPython applications usually hang around until all of the parentless=20 frames have been closed, so you could end up with an application that=20 stays open until all of the figure frames have been closed. To prevent=20= this, you'll need configure your wxApp instance to exit when the top=20 window is closed: class MyApp(wx.PySimpleApp): def OnInit(self): wx.PySimpleApp.OnInit(self) frame =3D MyMainFrame() # create the main window self.SetTopWindow(frame) self.SetExitOnFrameDelete(True) Ken=
>>>>> "Ken" == Ken McIvor <mc...@ii...> writes: Ken> Since you're using wxPython, you've given my a plumb Ken> opportunity to repeat what is in danger of becoming my Ken> litany: Ken> You should check out Matt Newville's MPlot package and Ken> my wxmpl module, both of which exist to simply embedding Ken> matplotlib in wxPython applications. Both of them provide Ken> user interaction bells and whistles, including crosshairs Ken> around the mouse position. Perhaps a wiki entry on using mpl with wx would be helpful. http://www.scipy.org/wikis/topical_software/MatplotlibCookbook JDH
On Aug 10, 2005, at 1:41 PM, Carlos Pita wrote: >> The other alternative is to use GUI native drawing on top of the >> matplotlib FigureCanvas; for the wx backend, there is an example >> illustrating this in examples/wxcursor_demo.py. Since you're using wxPython, you've given my a plumb opportunity to repeat what is in danger of becoming my litany: You should check out Matt Newville's MPlot package and my wxmpl module, both of which exist to simply embedding matplotlib in wxPython applications. Both of them provide user interaction bells and whistles, including crosshairs around the mouse position. Each of the libraries takes a different approach to plotting and has different benefits and drawbacks, so I encourage you to evaluate each of them and select the one that best meets your needs. Even if neither of them fit the bill, you'll hopefully be able to learn something from looking through the source. > It works almost ok, but there are some quirks when repainting the > window, (i) sometimes > the rulers are not erased and (ii) they are not redrawn when the > window is fully repainted, > for example after being covered/discovered by other window. I want to > put the > ruler redrawing routine into the paint event handler in order to see > if this solves the > problem (which is caused by odd sequences of xor or invert -in my > case- line plots). I suspect that this is exactly what you need to do to solve the problem. My approach in wxmpl has been to stop drawing the crosshairs when the mouse is outside of the plot panel, which has allowed me to sidestep this particular problem. > The wx canvas implements its paint event hadler as a private _OnPaint > method. > As long as encapsulation is a concern I wouldn't invoke it directly. While I appreciate your concerns about breaking encapsulation, I don't think you'll have any problems overriding _OnPaint() to draw your crosshairs after the plot has been repainted. As I indicated earlier, there are ways to design around needing to do so, but they entail not drawing crosshairs when the mouse is not in the window. Ken
Thanks John this is really helpful. I think even the text box would be useful. I'll take a look at the latest release. On 8/10/05, John Hunter <jdh...@ni...> wrote: > >>>>> "Tom" =3D=3D Tom Denniston <tom...@gm...> writes: >=20 > Tom> Hi all, I have been looking at the Matplotlib widget examples > Tom> particularly the Slider one and then looking at the widgets > Tom> available in matplotlib.widgets. I noticed that there are no > Tom> list or drop down widgets available? Is this something that > Tom> is available elsewhere in Matplotlib or something that needs > Tom> to be added? It would be extremely convenient to be able to > Tom> use drop down boxes in plots to control the data going into > Tom> the plot. >=20 > Tom> Does anyone have any thoughts or suggestions. Is this > Tom> something others are interested in or already working on? Is > Tom> there a technical difficulty that drop downs present that has > Tom> caused people to be hesitate to add them? >=20 > Hey Tom, >=20 > The GUI neutral widgets we have already were either added because we > needed them (sliders to support the new subplot tool) or as > proof-of-concept (check and radio buttons). Others can be added as > needed. The most pressing one in my view is a text entry box, which > has been delayed because of an idiosyncrasy in the way mpl aligns text > in the y direction (we have 'top', 'bottom' and 'center' but we need > 'baseline'). >=20 > The other technical difficulty in drop downs is efficient blitting of > rectangular regions of the canvas, which we have just begun to solve. > See http://www.scipy.org/wikis/topical_software/Animations . GTKagg > supports region blitting in the last release, and TkAgg does in CVS > (thanks to Charles Moad). >=20 > So yes, a drop down would be useful and welcome. If you feel up to > tackling this, by all means do! >=20 > JDH >=20 > PS >=20 > I have a proof-of-concept text box implemented for GTKAgg, which I'll > include below. If you type some random text into it, you may better > understand my point about aligning to baseline. For example, if you > type "This is a recording" notice what happens when you type "g". > You will need a backend that supports blitting. >=20 > from pylab import * > from matplotlib.transforms import lbwh_to_bbox, identity_transform >=20 > class TextBox(Widget): > def __init__(self, ax, s=3D''): > self.canvas =3D ax.figure.canvas > self.text =3D ax.text(0.025, 0.2, s, > fontsize=3D14, > #verticalalignment=3D'baseline', > horizontalalignment=3D'left', > transform=3Dax.transAxes) > self.ax =3D ax > ax.set_yticks([]) > ax.set_xticks([]) >=20 > ax.set_navigate(False) > self.canvas.draw() > self.canvas.mpl_connect('key_press_event', self.keypress) >=20 > self.region =3D self.canvas.copy_from_bbox(ax.bbox) >=20 > r =3D self._get_text_right() > self.cursor, =3D ax.plot([r,r], [0.2, 0.8], transform=3Dax.transAx= es) > self.redraw() >=20 > def redraw(self): > self.ax.redraw_in_frame() > self.canvas.blit(self.ax.bbox) >=20 >=20 > def keypress(self, event): > if event.key is not None and len(event.key)>1: return >=20 > t =3D self.text.get_text() > if event.key is None: # simulate backspace > if len(t): newt =3D t[:-1] > else: newt =3D '' > else: > newt =3D t + event.key >=20 > self.text.set_text(newt) >=20 > r =3D self._get_text_right() > self.cursor.set_xdata([r,r]) > self.redraw() >=20 >=20 > def _get_text_right(self): > l,b,w,h =3D self.text.get_window_extent().get_bounds() > r =3D l+w+2 > t =3D b+h > s =3D self.text.get_text() > # adjust cursor position for trailing space > numtrail =3D len(s) - len(s.rstrip()) > en =3D self.ax.get_renderer_cache().points_to_pixels(self.text.get= _fontsize())/2. >=20 > r +=3D numtrail*en > l,b =3D self.ax.transAxes.inverse_xy_tup((l,b)) > r,t =3D self.ax.transAxes.inverse_xy_tup((r,t)) > return r >=20 >=20 >=20 > ion() > f =3D figure() > ax =3D axes([0.1, 0.1, 0.8, 0.7]) > plot([1,2,3]) >=20 > #rc('text', usetex=3D1) > f.text(0.39, 0.875, 'My label: ', > horizontalalignment=3D'right', verticalalignment=3D'center') > axtext =3D axes([0.4, 0.85, 0.5, 0.05]) >=20 > draw() > box =3D TextBox(axtext) >=20 > show() >
Jeff Whitaker wrote: > Christian Kristukat wrote: > >> Chris Barker wrote: >> >>> Christian Kristukat wrote: >>> >>>> The second does a triangulation. Though I didn't understand what to >>>> do with the >>>> triangulated data, as the result is still not an orthogonal grid. >>> >>> >>> >>> >>> Once you've got the triangulation, you can linearly interpolate >>> between the three points of the triangle that a point is in for which >>> you want the value. >> >> >> >> I see. Thanks for explaining. >> >>> I've been meaning to wrap Jonathan Shewchuk's triangle code for >>> Python, but haven't gotten around to it yet. >>> >>> http://www.cs.cmu.edu/~quake/triangle.html >> >> >> >> Does that code include the interpolation, i.e. the extraction of data >> on a regular grid? I can't imagine an easy way to achieve that. >> >> Regards, Christian >> > > Christian: CDAT (http://esg.llnl.gov/cdat/) has python bindings for > natgrid (http://ngwww.ucar.edu/ngdoc/ng/ngmath/natgrid/nnhome.html), > which I think does what you want. That works great! Moreover the package does not depend on cdat and can be used isolated. Thanks a lot, Christian
Thanks for all the help. I'm packing to head home, so I won't be able to = work on this again for two weeks. Maybe I can put this together and put it in the py2exe Wiki. Michael Huster, Ph. D. Assistant Professor of Science Simpson University 2211 College View Dr. Redding, CA 96003 -----Original Message----- From: Noko Phala [mailto:np...@an...] Sent: Wed 8/10/2005 9:58 PM To: Michael Huster Subject: RE: [Matplotlib-users] Matplotlib + py2exe =3D frustration =20 I feel your pain. After a billion tries, I got a similar scipy+matplotlib app to work with the following (a few scipy-specific modules, like integrate, had to be called from the main script itself:) from distutils.core import setup import py2exe import glob import os #for matplotlib data=3Dglob.glob(r'C:\Python23\share\matplotlib\*') data.append(r'C:\Python23\share\matplotlib\matplotlibrc') options =3D { "py2exe": { "includes": ['scipy','scipy.integrate','matplotlib.*', 'scipy.special.*','scipy.linalg.*','scipy.*',\ ], "packages": ['encodings','matplotlib.numerix.random_array','pytz',\ 'dateutil','numarray' ], =20 } } setup( =20 version =3D "0.1.1", console =3D ["C:\Python23\myscript.py"], data_files =3D [("matplotlibdata",data)],=20 options=3Doptions=20 =20 ) Good luck, Dr Noko Phala Process Research Anglo Research=20 PO Box 106 Crown Mines 2025 Republic of South Africa Tel: +27 (11) 377 4817 e-mail: np...@an...=20 =20 -----Original Message----- From: mat...@li... [mailto:mat...@li...] On Behalf Of Michael Huster Sent: Wednesday, August 10, 2005 6:09 PM To: Mat...@li... Subject: [Matplotlib-users] Matplotlib + py2exe =3D frustration I cross-posted this on py2exe-users w/o getting help yet. Yes, I've read the Wiki - http://starship.python.net/crew/theller/moin.cgi/MatPlotLib and any other pages I could google. I want to package a pylab (aka scipy, aka matplotlib) app. I'm on Win XP. I've been trying for four days. I've boiled it down to this: ----------------------------------------------------- Test.py: import pylab a =3D arange(10) print a ----------------------------------------------------- Setup.py: from distutils.core import setup import py2exe import glob # from py2exe wiki: matplotlib """ These don't work so I commented them out: opts =3D { 'py2exe': { 'excludes': ['_gtkagg', '_tkagg'], 'dll_excludes': ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll'], 'includes': ['matplotlib.numerix.random_array'], } } """ setup( # This doesn't make it work either: data_files =3D [ (r'lib\matplotlibdata', glob.glob(r'c:\python23\share\matplotlib\*')), (r'lib\matplotlibdata', glob.glob(r'c:\Python23\share\matplotlib\.matplotlibrc')), ], version =3D "0.7.0", description =3D "test py2exe & pylab", name =3D "TestPy2exe", author =3D "Michael E Huster", # targets to build console =3D ["test.py"] ) ----------------------------------------------------- I run: Prompt> python setup.py py2exe Prompt> cd dist Prompt> test.exe Traceback (most recent call last): File "test.py", line 1, in ? File "pylab.pyc", line 1, in ? File "matplotlib\__init__.pyc", line 509, in ? File "matplotlib\__init__.pyc", line 245, in wrapper File "matplotlib\__init__.pyc", line 318, in _get_data_path RuntimeError: Could not find the matplotlib data files Prompt> Michael Huster, Ph. D. Assistant Professor of Science Simpson University 2211 College View Dr. Redding, CA 96003 ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>> "Eric" == Eric Emsellem <ems...@ob...> writes: Eric> Hi, is there a way to have the hst_demo.py back on line (in Eric> the screenshots)? I would need it desesperately! thanks!!! Eric> Eric Well, I don't want anyone getting desperate around here :-) It's back up -- thanks for letting me know. JDH
Hi, is there a way to have the hst_demo.py back on line (in the screenshots)? I would need it desesperately! thanks!!! Eric
>>>>> "Nils" == Nils Wagner <nw...@me...> writes: Nils> Hi all, Any pointer to resolve the problem within ding.py Nils> (see attachment) would be appreciated. Nils> I am using >>>> matplotlib.__version__ Nils> '0.84cvs' I do not recommend that you try and use tex support with matplotlib CVS, since it is currently broken with some recent changes I made to the image module, though I think the cause of your problem lies elsewhere. Also, there is a problem I am experiencing trying to make external calls (eg to latex) under GTKAgg, which I think may be related to threading. Try installing the latest release (0.83.2), removing your ~/.matplotlib/tex.cache, and rerunning your script. JDH
Hi all, Any pointer to resolve the problem within ding.py (see attachment) would be appreciated. I am using >>> matplotlib.__version__ '0.84cvs' Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/matplotlib/backends/backend_gtk.py", line 311, in expose_event self._render_figure(self._pixmap, w, h) File "/usr/lib/python2.3/site-packages/matplotlib/backends/backend_gtkagg.py", line 70, in _render_figure FigureCanvasAgg.draw(self) File "/usr/lib/python2.3/site-packages/matplotlib/backends/backend_agg.py", line 381, in draw self.figure.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/figure.py", line 511, in draw for a in self.axes: a.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/axes.py", line 1389, in draw self.xaxis.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/axis.py", line 552, in draw tick.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/axis.py", line 151, in draw if self.label1On: self.label1.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/text.py", line 848, in draw self._mytext.draw(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/text.py", line 335, in draw bbox, info = self._get_layout(renderer) File "/usr/lib/python2.3/site-packages/matplotlib/text.py", line 184, in _get_layout w,h = renderer.get_text_width_height( File "/usr/lib/python2.3/site-packages/matplotlib/backends/backend_agg.py", line 241, in get_text_width_height Z = self.texmanager.get_rgba(s, size, dpi, rgb) File "/usr/lib/python2.3/site-packages/matplotlib/texmanager.py", line 298, in get_rgba X = readpng(pngfile) RuntimeError: _image_module::readpng could not open PNG file /home/nwagner/.matplotlib/tex.cache/2c6e169d72c80df1858b02af79bf8864_96.png for reading Nils
Thanks John, figure() is in fact that what I need. thx Werner On 2005年8月10日 16:25:52 +0200, John Hunter <jdh...@ac...> wrote: >>>>>> "W" == W Pessenhofer <w.p...@tu...> writes: > > W> Is this possible within one script, or do I have to split it > W> into several shorter ones ? > > Can you not just create two separate figures in your script > > figure() > plot_your_spectras() > figure() > do_your_calibration() > show() > > The following functions might be useful to you in one way or another. > > fig = figure(num) - create figure num > close(num) - close figure(num) > cla() - clear the crrent axes > clf() - clear the current figure > hold(True|False) - modify the current hold strate > ishold() - inspect the current hold state > > I do not understand exactly your problem -- hope this helps. > > JDH
On 2005年8月10日, Darren Dale wrote: > I just discovered epstopdf, which comes bundled with TeTeX-3. It's a really > nice tool for making embeddable pdf files from our TeX-enhanced eps output. > Can anyone tell me if epstopdf is included with MiKTeX? If so, I'll mention it > on the wiki. Darren, I cannot answer your question. However, .eps is readily accepted in LaTeX (and LyX) using \includefigure{name.eps}. You can use pdflatex to compile it into a .pdf output file. You an also \includefigure{name.pdf} and use pdf4 to view and compile it into .pdf output. Don't know how this would work with mpl, but with PSTricks I use ps4pdf to produce output. HTH, Rich -- Dr. Richard B. Shepard, President | Author of "Quantifying Environmental Applied Ecosystem Services, Inc. (TM) | Impact Assessments Using Fuzzy Logic" <http://www.appl-ecosys.com> Voice: 503-667-4517 Fax: 503-667-8863
Yes, epstopdf is included with MiKTeX. Darren Dale wrote: > I just discovered epstopdf, which comes bundled with TeTeX-3. It's a really > nice tool for making embeddable pdf files from our TeX-enhanced eps output. > > Can anyone tell me if epstopdf is included with MiKTeX? If so, I'll mention it > on the wiki. >
>>>>> "Eric" == Eric Firing <ef...@ha...> writes: Eric> The behavior of the '.' marker seems anomalous, very Eric> different between gtkAgg and postscript backends, and not Eric> very useful: Hi Eric, All of your suggestions for '.' are totally reasonable. Perhaps you can implement it? After implementing much of the contouring and masked array support, I think you'll find this one relatively painless. A few things to be aware of: * the PS and *Agg backends should not be different. A few months ago I suggested a new API for backend drawing which added the method renderer.draw_markers (search the dev list for draw_markers). Most of the backends have not implemented it yet, which is why we have conditionals in lines.py like def _draw_point(self, renderer, gc, xt, yt): if self._newstyle: rgbFace = self._get_rgb_face() path = agg.path_storage() path.move_to(-0.5, -0.5) path.line_to(-0.5, 0.5) path.line_to(0.5, 0.5) path.line_to(0.5, -0.5) renderer.draw_markers(gc, path, rgbFace, xt, yt, self._transform) else: for (x,y) in zip(xt, yt): renderer.draw_arc(gc, None, x, y, 1, 1, 0.0, 360.0) _draw_point is the function that draws the marker style '.' -- see the Line2D._markers dictionary. I suggest you modify _draw_point to work like you suggest, for both the "newstyle" and old cases. "newstyle" is a boolean which is True iff renderer.draw_markers is implemented (Agg only, I think). One of the main reasons I implemented draw_markers was to avoid the overhead of calling a renderer draw function for each marker. As note in the release notes at http://matplotlib.sourceforge.net/whats_new.html, these changes were introduced in mpl 0.72 and can be 20x faster for large numbers of points (eg 500K points). * matplotlib already has marker style ',' for draw_pixel, and so your interpretation of draw_point is fine. When someone wants a pixel, they can call plot(x, y, ',') Let me know if you have any more comments or questions. Thanks, JDH
I just discovered epstopdf, which comes bundled with TeTeX-3. It's a really nice tool for making embeddable pdf files from our TeX-enhanced eps output. Can anyone tell me if epstopdf is included with MiKTeX? If so, I'll mention it on the wiki. -- Darren S. Dale Bard Hall Department of Materials Science and Engineering Cornell University Ithaca, NY. 14850 dd...@co... http://people.ccmr.cornell.edu/~dd55/
On Wednesday 10 August 2005 6:07 pm, Alan G Isaac wrote: > On 2005年8月10日, Darren Dale apparently wrote: > > dvipng misinterprets some of the pslatex > > glyphs on my system (gentoo, tetex-3). > > Aha: that may be why I see '/' in stead of '=' > when using pslatex? Yes, I have seen exactly that. Since eps output is fine, I'm assuming it is a dvipng problem, and not a TeX font indexing problem.
>>>>> "Tom" == Tom Denniston <tom...@gm...> writes: Tom> Hi all, I have been looking at the Matplotlib widget examples Tom> particularly the Slider one and then looking at the widgets Tom> available in matplotlib.widgets. I noticed that there are no Tom> list or drop down widgets available? Is this something that Tom> is available elsewhere in Matplotlib or something that needs Tom> to be added? It would be extremely convenient to be able to Tom> use drop down boxes in plots to control the data going into Tom> the plot. Tom> Does anyone have any thoughts or suggestions. Is this Tom> something others are interested in or already working on? Is Tom> there a technical difficulty that drop downs present that has Tom> caused people to be hesitate to add them? Hey Tom, The GUI neutral widgets we have already were either added because we needed them (sliders to support the new subplot tool) or as proof-of-concept (check and radio buttons). Others can be added as needed. The most pressing one in my view is a text entry box, which has been delayed because of an idiosyncrasy in the way mpl aligns text in the y direction (we have 'top', 'bottom' and 'center' but we need 'baseline'). The other technical difficulty in drop downs is efficient blitting of rectangular regions of the canvas, which we have just begun to solve. See http://www.scipy.org/wikis/topical_software/Animations . GTKagg supports region blitting in the last release, and TkAgg does in CVS (thanks to Charles Moad). So yes, a drop down would be useful and welcome. If you feel up to tackling this, by all means do! JDH PS I have a proof-of-concept text box implemented for GTKAgg, which I'll include below. If you type some random text into it, you may better understand my point about aligning to baseline. For example, if you type "This is a recording" notice what happens when you type "g". You will need a backend that supports blitting. from pylab import * from matplotlib.transforms import lbwh_to_bbox, identity_transform class TextBox(Widget): def __init__(self, ax, s=''): self.canvas = ax.figure.canvas self.text = ax.text(0.025, 0.2, s, fontsize=14, #verticalalignment='baseline', horizontalalignment='left', transform=ax.transAxes) self.ax = ax ax.set_yticks([]) ax.set_xticks([]) ax.set_navigate(False) self.canvas.draw() self.canvas.mpl_connect('key_press_event', self.keypress) self.region = self.canvas.copy_from_bbox(ax.bbox) r = self._get_text_right() self.cursor, = ax.plot([r,r], [0.2, 0.8], transform=ax.transAxes) self.redraw() def redraw(self): self.ax.redraw_in_frame() self.canvas.blit(self.ax.bbox) def keypress(self, event): if event.key is not None and len(event.key)>1: return t = self.text.get_text() if event.key is None: # simulate backspace if len(t): newt = t[:-1] else: newt = '' else: newt = t + event.key self.text.set_text(newt) r = self._get_text_right() self.cursor.set_xdata([r,r]) self.redraw() def _get_text_right(self): l,b,w,h = self.text.get_window_extent().get_bounds() r = l+w+2 t = b+h s = self.text.get_text() # adjust cursor position for trailing space numtrail = len(s) - len(s.rstrip()) en = self.ax.get_renderer_cache().points_to_pixels(self.text.get_fontsize())/2. r += numtrail*en l,b = self.ax.transAxes.inverse_xy_tup((l,b)) r,t = self.ax.transAxes.inverse_xy_tup((r,t)) return r ion() f = figure() ax = axes([0.1, 0.1, 0.8, 0.7]) plot([1,2,3]) #rc('text', usetex=1) f.text(0.39, 0.875, 'My label: ', horizontalalignment='right', verticalalignment='center') axtext = axes([0.4, 0.85, 0.5, 0.05]) draw() box = TextBox(axtext) show()