You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Darren D. <dd...@co...> - 2004-07-28 19:27:49
|
Hi Everyone, This week I started looking into saving my work to a pickled file so I could reload them later and retain their names. In Matlab, all or some variables in a workspace can be saved to a .mat file, and it seems possible to do this with Python. comp.lang.python gave me some ideas, and I wonder if this would be useful to matplotlib. The primary problems, as I see them, are: 1) all objects are not picklable 2) a variable's class must be defined before instantiating by unpickling 3) others that I am not aware of (well, there's always that) Have you guys looked into a way to save variables from an interactive session? I'm sure there is an easier way; my not-too-Pythonic solution looks like: import shelve myvars = {} for key in vars().keys(): myvar = vars()[key] if str(type(myvar)) == "<type 'module'>": print "can't pickle <type 'module'>" elif: str(type(myvar)) == "<type 'function'>": print "can't pickle <type 'function'>" elif: str(type(myvar)) == "<type 'unpicklable'>": print "can't pickle <type 'module'>" else: myvars.update({key:myvar}) s = shelve.open('myvars.mpl',protocol=-1) s.update(myvars) s.close() and reloading the data: import shelve s = shelve.open('myvars.mpl') for key in s.keys(): try: vars().update({key:s[key]}) except: print type(s[key]), ' is not currently defined.' What do you think? A try/except PicklingError might be possiblem, but according to the pickling docs, an unspecified number of bytes may have been written to the file before the PicklingError exception is raised. Also, is there any interest in saving figures as pickled objects, to be reloaded like Matlab's .fig files? Darren -- Darren S. Dale dd...@co... PGP public key available |
From: John H. <jdh...@ac...> - 2004-07-28 13:03:22
|
>>>>> "Jin-chung" == Jin-chung Hsu <hs...@st...> writes: Jin-chung> One would expect the following will fill up the plot Jin-chung> window: >>>> n=zeros(20000) n[::2]=1 plot(n) Jin-chung> The plot "stops" a little more than half way, as if it Jin-chung> "runs out of ink". Jin-chung> It happens on Linux as well as Solaris, using either Jin-chung> numarray and Numeric, and both TkAgg and GTKAgg, but Jin-chung> not GTK. Is this due to some AGG limitation? Hi Jin-chung, This is indeed an agg problem. It is not a limitation in the sense of 'n is too large'. It looks like a bug in agg but it is too early to say. For example, this is OK >>> plot(n) >>> ax.set_ylim((-2,2)) as is >>> plot(n, 'o') or >>> plot(rand(20000)) Ie, the problem seems to occur when plotting solid lines where many of the y values are similar, but is not a problem with the length of n, per se. I was able to reproduce the bug in pure agg c++ and posted to the agg mailing list. Maxim (agg author) is on vacation, but I suspect he'll provide some insight when he returns. Thanks for letting me know, JDH |
From: Gregory L. <gre...@ff...> - 2004-07-28 12:56:51
|
On Wed, 2004-07-28 at 14:11, John Hunter wrote: > >>>>> "Mark" == Mark Engelhardt <ma...@st...> writes: > > Mark> Hi, I am not in interactive mode, I am writing scripts that > Mark> handle a bunch of data and then plot it all. However, when > Mark> show() is called, the script stops and waits for all the > Mark> windows it opens to be closed before continuing. What I was > Mark> hoping for was a way to have the plots be drawn in windows > Mark> that were no longer hooked into the script, such that the > Mark> script could continue running (to completion) regardless of > Mark> what happened to the open windows. I did try 'draw()', > Mark> which does not appear to open any new windows. > > Hi Mark, > > Thanks for the explanation. Now I understand what you are trying to > do. You are right about draw, all it does is redraw an existing > figure, eg if you have changed some data in it. Hi, I think I recall I observed the requested behavior (i.e. get hand back in interractive window or script after a show()) in previous version of matplotlib. I remember this cause reproducing this non-blocking behavior of show() has proven to be a little bit hard to reproduce when developing FltkAgg backend (I have done it using thread, and it works, so a solution would be to use this backend when it is integrated). But with TkAgg and GTKAgg, cvs version, on linux, it does not work anymore (i.e. show() do not return hand, as mentioned) I tested some earlier version (0.54 on windows, TkAgg) to see if I have so false souvenir, but it indeed work as Mark want (i.e. show() is non-blocking )...So I guess something has changed in the show() mechanism since, maybe to deal with the new event mechanism? Best regards, Greg. |
From: John H. <jdh...@ac...> - 2004-07-28 12:35:27
|
>>>>> "Mark" == Mark Engelhardt <ma...@st...> writes: Mark> Hi, I am not in interactive mode, I am writing scripts that Mark> handle a bunch of data and then plot it all. However, when Mark> show() is called, the script stops and waits for all the Mark> windows it opens to be closed before continuing. What I was Mark> hoping for was a way to have the plots be drawn in windows Mark> that were no longer hooked into the script, such that the Mark> script could continue running (to completion) regardless of Mark> what happened to the open windows. I did try 'draw()', Mark> which does not appear to open any new windows. Hi Mark, Thanks for the explanation. Now I understand what you are trying to do. You are right about draw, all it does is redraw an existing figure, eg if you have changed some data in it. You have to get a little bit into the GTK API / event handling mechanism to do this right. One way is to use the full blown gtk API with matplotlib, as in examples/embedding_in_gtk*.py. The easier way is to just use as much of the API as you need, and take over the function of the backend 'show' function. You'll be doing an end run around the matplotlib.matlab figure manager, which means some of these won't work (like gcf, close, etc.). That's OK, because you won't be using the matplotlib.matlab interface. Do not import matplotlib.matlab with this approach as the result is undefined! There are a few things you need to do * Define function(s) / class(es) which create your figures * Define a main function which call these functions as necessary. Return False from this function * Add main to the gtk idle handler. Returning False in 'main' will cause this function to be called only once. * Start the gtk mainloop yourself. After gtk is started, your 'main' function will be called and you're off to the races. * If there is something you want from matplotlib.matlab, say the 'axis' command, just look at the src code to see how axis is implemented with the matplotlib API and make those calls yourself. You may want to spend some time with the pygtk class reference at http://www.pygtk.org/pygtk2reference/gtk-class-reference.html and the matplotlib class reference at http://matplotlib.sourceforge.net/classdocs.html. In the example below * canvas inherits from gtk.DrawingArea and backends.FigureCanvasGTK (which in turn derives from backend_bases.FigureCanvasBase) * manager is a backends.backend_gtk.FigureManagerGTK which inherits from backend_bases.FigureManagerBase * manager.window is a gtk.Window() (you can also hide or close this window with pygtk API calls) * ax is a axes.Subplot which inherits from axes.Axes Here is an example #!/usr/bin/env python import matplotlib matplotlib.use('GTKAgg') from matplotlib.backends.backend_gtkagg import new_figure_manager from matplotlib.numerix import * import gtk def main(*args): manager1 = new_figure_manager(1) canvas1 = manager1.canvas fig1 = canvas1.figure ax1 = fig1.add_subplot(111) ax1.plot([1,2,3]) manager1.window.show() # non blocking manager2 = new_figure_manager(2) canvas2 = manager2.canvas fig2 = canvas2.figure ax2 = fig2.add_subplot(111) ax2.plot([6,5,4]) manager2.window.show() return False gtk.idle_add(main) gtk.mainloop() |
From: Mark E. <ma...@st...> - 2004-07-28 05:44:12
|
Hi, I am not in interactive mode, I am writing scripts that handle a bunch of data and then plot it all. However, when show() is called, the script stops and waits for all the windows it opens to be closed before continuing. What I was hoping for was a way to have the plots be drawn in windows that were no longer hooked into the script, such that the script could continue running (to completion) regardless of what happened to the open windows. I did try 'draw()', which does not appear to open any new windows. In answer to your questions, here are the relevant lines from my .matplotlibrc: backend : GTKAgg # the default backend numerix : numarray #Numeric # Numeric or numarray interactive : False # see http://matplotlib.sourceforge.net/interactive.htm Thanks for everyone's help on subplot positioning (or avoidance ;)) - I'll take a look. - Mark On Jul 26, 2004, at 2:06 PM, John Hunter wrote: > Mark> 2. Is there a way to make the 'show()' command execute so > Mark> that the script keeps running (instead of waiting for the > Mark> windows to be closed), and to have the output persist past > Mark> the end of the run? > > You should only call show once per script. I repeat, you should only > call show once per script - > http://matplotlib.sourceforge.net/faq.html#SHOW > > matplotlib-0.60.2 has a "draw" command to force a canvas redraw. This > is non blocking. Earlier versions allow you to do, equivalently, > get_current_fig_manager().canvas.draw(). Does this do what you want? > I am not sure what you are after when you write "have the output > persist past the end of the run". Launch the python interpreter? > > Please let me know what backend you are using and explain a bit more > what it is you are trying to do. Are you running in interactive mode? > > JDH > |
From: Chris F. <cf...@th...> - 2004-07-28 04:31:16
|
> Which backend are you using? Chris Fuller submitted a tk widget for > just this purpose - > http://sourceforge.net/mailarchive/message.php?msg_id=8901913. It > would be fairly easy to port to other GUIs. It"s on the list of things > to do, but I haven"t had time. Other than that, your best option is > to manually set the axes size, eg using the "axes" command or calling the fig_layout.py module is quite agnostic w.r.t. backend, the included demo (layout_demo.py) is where TkAgg is invoked. The only dependency is on the figure object itself, so there should be no problem using this functionality with any backend. The embedded documentation should get you started. You may need to use matlab.gcf() to get this figure object, if you are not using the object oriented interface (for instance, interactively) Chris |
From: John H. <jdh...@ac...> - 2004-07-27 13:56:45
|
>>>>> "Michael" == Michael Oevermann <mic...@tu...> writes: Michael> I have just installed the latest CVS version of Michael> matplotlib. The EPS/PS backend works well with latex Michael> commands and also the png backend, but the GUI does not Michael> work anymore. When I ran any of the examples in the Michael> examples directory I get the message Michael> ** (simple_plot.py:5668): WARNING **: Cannot open font Michael> file for font Verdana 10 Michael> ** (simple_plot.py:5668): WARNING **: FCannot open Michael> fallback font, nothing to do Michael> and python terminates. I have set the TTFPATH environment Michael> variable and I have added the correct font path in Michael> font_manager.py which didn't help. After severe problems Michael> with the gtk and pygtk installation via fink I decided to Michael> do a manual installation by hand and everything compiled Michael> without any problems. Hi Michael, Sorry for the delay in getting back to you. I don't believe this error message is coming from matplotlib itself. Rather, I think it's coming from your GUI. If you GUI is trying to load a font, that almost certainly means you are not using one of the *Agg backends: TkAgg, GTKAgg or WXAgg. Which backend are you trying to use? From your message I assume GTK. If GTKAgg is an option for you, this will likely cure your problem. However, we would like to sort this out for plain vanilla GTK as well. Here are a thread that might have some relevant information for you - http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&threadm=FLkS.6Zc.13%40gated-at.bofh.it&rnum=3&prev=/groups%3Fnum%3D50%26hl%3Den%26lr%3D%26ie%3DUTF-8%26safe%3Doff%26q%3D%2522Cannot%2Bopen%2Bfallback%2Bfont%252C%2Bnothing%2Bto%2Bdo%2522%26btnG%3DSearch http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&threadm=b6d06883.0301070805.64f48075%40posting.google.com&rnum=4&prev=/groups%3Fnum%3D50%26hl%3Den%26lr%3D%26ie%3DUTF-8%26safe%3Doff%26q%3D%2522Cannot%2Bopen%2Bfallback%2Bfont%252C%2Bnothing%2Bto%2Bdo%2522%26btnG%3DSearch JDH |
From: John H. <jdh...@ac...> - 2004-07-26 21:31:06
|
>>>>> "Mark" == Mark Engelhardt <ma...@st...> writes: Mark> Hi, Two quick little issues I haven't been able to figure Mark> out how to fix on my own so far: Mark> 1. Is there an easy way to change the spacing between Mark> subplots, so that they aren't so crammed together? It's Mark> none too pretty when the x-axis text for the upper plot is Mark> overlapping or even below the title for the lower plot. Which backend are you using? Chris Fuller submitted a tk widget for just this purpose - http://sourceforge.net/mailarchive/message.php?msg_id=8901913. It would be fairly easy to port to other GUIs. It's on the list of things to do, but I haven't had time. Other than that, your best option is to manually set the axes size, eg using the 'axes' command or calling ax.set_position Mark> 2. Is there a way to make the 'show()' command execute so Mark> that the script keeps running (instead of waiting for the Mark> windows to be closed), and to have the output persist past Mark> the end of the run? You should only call show once per script. I repeat, you should only call show once per script - http://matplotlib.sourceforge.net/faq.html#SHOW matplotlib-0.60.2 has a "draw" command to force a canvas redraw. This is non blocking. Earlier versions allow you to do, equivalently, get_current_fig_manager().canvas.draw(). Does this do what you want? I am not sure what you are after when you write "have the output persist past the end of the run". Launch the python interpreter? Please let me know what backend you are using and explain a bit more what it is you are trying to do. Are you running in interactive mode? JDH |
From: Mark E. <ma...@st...> - 2004-07-26 20:53:52
|
Hi, Two quick little issues I haven't been able to figure out how to fix on my own so far: 1. Is there an easy way to change the spacing between subplots, so that they aren't so crammed together? It's none too pretty when the x-axis text for the upper plot is overlapping or even below the title for the lower plot. 2. Is there a way to make the 'show()' command execute so that the script keeps running (instead of waiting for the windows to be closed), and to have the output persist past the end of the run? Thanks, Mark |
From: Jin-chung H. <hs...@st...> - 2004-07-26 20:51:20
|
One would expect the following will fill up the plot window: >>> n=zeros(20000) >>> n[::2]=1 >>> plot(n) The plot "stops" a little more than half way, as if it "runs out of ink". It happens on Linux as well as Solaris, using either numarray and Numeric, and both TkAgg and GTKAgg, but not GTK. Is this due to some AGG limitation? JC Hsu |
From: Bogdan M. <bog...@gm...> - 2004-07-26 07:01:11
|
Hi John, I'm sending the code as an attachement, as it is 215 lines long and some of them could wrap. Some thoughts about the code: in order to test it just modify the definitions of IMAGE_FILE and (maybe) PRINT_DPI. Then start the program and use "print" and "preview" from the "file" menu. The preview doesn't look like the original plot (at least on the machines I tested it), and I don't know why. The colors seem to be twisted or something in the preview. If somebody has any clues about this, I'd be more than happy to know. However, this is only a preview problem, the print itself looks fine. Don't expect the code to run on the current "official" version of wxPython (2.5.1.5); download the 2.5.2.2 test release (or a more recent version) from http://starship.python.net/crew/robind/wxPython/daily/20040722/. Only tested on WinXP and Win2000 with the WXAgg backend, I don't know anything about the other platforms or backends, if someone else could test this it would be great. This could certainly be improved by telling the backend what wxDC it should use to draw the image on (thus skipping the save image/load image step), but so far I believe this is a good solution. John, I have some comments on the wx / wxAgg backends; I've been able to totally eliminate the very annoying flicker that I got when moving a window on a plot canvas. I guess that the dev list would be a better place for these comments, right? -- Bogdan |
From: John H. <jdh...@ac...> - 2004-07-25 20:56:04
|
>>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes: Bogdan> Thank you, John. I thought I was lost to PyPlot too, Bogdan> but ... well, matplotlib is just too cool :) So I Bogdan> struggled a bit and I managed to get a print of the graph Bogdan> by first saving it to a file and then printing the Bogdan> file. It actually woks on wxPython 2.5.2.2, I don't expect Bogdan> it to work with 2.5.1.5. I imagine that some people will Bogdan> benefit from this code and I'd be more than happy to give Bogdan> my share to matplotlib. So please let me know how should I Bogdan> send my code. IF I should send it :) I'll do it tomorrow Bogdan> if everything is OK, I'm exhausted today. Definitely send the code. If it's not too big, just post it to the list. Pasting in the code is better than attachments because the sourceforge archiver drops attachments (but be careful that the lines don't wrap). If the code is too long, you can send it to me and I'll include a link to it on the web site. Thanks, John |
From: Bogdan M. <bog...@gm...> - 2004-07-25 20:23:16
|
Use this snapshot that John was kind enough to provide: http://nitace.bsd.uchicago.edu:8080/files/share/matplotlib-0.61.0a.win32-py2.3.exe It should fix your problem. On Sun, 25 Jul 2004 15:51:27 -0400, Darren Dale <dd...@co...> wrote: > Hi All, > > If I use the WXAgg backend, and call figure(1,figsize=(x,y)), if x or y > is bigger than the standard 8 and 6, the plot wont render and I get an > unhandled win32 exception. > > Darren > > -- > Darren S. Dale > dd...@co... > > PGP public key available > > > > -- Bogdan |
From: Darren D. <dd...@co...> - 2004-07-25 19:52:18
|
Hi All, If I use the WXAgg backend, and call figure(1,figsize=(x,y)), if x or y is bigger than the standard 8 and 6, the plot wont render and I get an unhandled win32 exception. Darren -- Darren S. Dale dd...@co... PGP public key available |
From: Charles R. T. <cha...@in...> - 2004-07-24 02:29:48
|
On Mon, 19 Jul 2004, Malte Marquarding wrote: MM>'apt-cache search matplotlib' should give you the names of all the MM>relevant matplotlib packages if you don't know them. But oddly, for me, it doesn't. I only see the docs. > apt-cache search matplotlib python-matplotlib-doc - A python based gtk plotting system in a style similar to matlab (documentation) > Strange. But if Malte can get them, it's probably not a problem with mentors.net. Hrm.... -Charles -- Charles R. Twardy www.csse.monash.edu.au/~ctwardy Monash University sarbayes.org Computer Sci. & Software Eng. +61(3) 9905 5823 (w) 5146 (fax) Allow the president to invade a neighboring nation, whenever he shall deem it necessary to repel an invasion, ... and you allow him to make war at pleasure. --Abraham Lincoln |
From: Bogdan M. <bog...@gm...> - 2004-07-23 20:34:46
|
Thank you, John. I thought I was lost to PyPlot too, but ... well, matplotlib is just too cool :) So I struggled a bit and I managed to get a print of the graph by first saving it to a file and then printing the file. It actually woks on wxPython 2.5.2.2, I don't expect it to work with 2.5.1.5. I imagine that some people will benefit from this code and I'd be more than happy to give my share to matplotlib. So please let me know how should I send my code. IF I should send it :) I'll do it tomorrow if everything is OK, I'm exhausted today. On Fri, 23 Jul 2004 14:25:31 -0500, John Hunter <jdh...@ac...> wrote: > >>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes: > > Bogdan> Hello again, I've created some axes, and I'm trying to > Bogdan> put some custom Ox tick labels on the axes. I would also > Bogdan> like to have different alignments for each tick > Bogdan> label. This is the code I'm using (with matplotlib.0.61.0a > Bogdan> on Win32 with the WXAgg backend): > > Hi, I thought we had lost you to PyPlot :-) > > Egads, that was a tough one. Every once in a while when developing > I'll make a temporary change in the src code for experimental purposes > and forget to undo it. This is one of those cases. In > matplotlib.axis.XAxis, on or around line 575, find the line that reads > > #tick = self._get_tick(major=True) > tick = protoTick > > and replace it with > > tick = self._get_tick(major=True) > > The assignment 'tick = protoTick' was causing all ticks to share > properties. > > FYI, matplotlib has a fairly general and extensible tick locator and > formatter framework, which you can read about in > http://matplotlib.sf.net/matplotlib.ticker.html and in the examples > custom_ticker1.py, major_minor_demo1.py and major_minor_demo2.py in > the matplotlib src distribution or at > http://matplotlib.sf.net/examples. The set_ticks, set_ticklabels, > etc, commands are just wrappers for these classes. > > JDH > > -- Bogdan |
From: John H. <jdh...@ac...> - 2004-07-23 19:49:29
|
>>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes: Bogdan> Hello again, I've created some axes, and I'm trying to Bogdan> put some custom Ox tick labels on the axes. I would also Bogdan> like to have different alignments for each tick Bogdan> label. This is the code I'm using (with matplotlib.0.61.0a Bogdan> on Win32 with the WXAgg backend): Hi, I thought we had lost you to PyPlot :-) Egads, that was a tough one. Every once in a while when developing I'll make a temporary change in the src code for experimental purposes and forget to undo it. This is one of those cases. In matplotlib.axis.XAxis, on or around line 575, find the line that reads #tick = self._get_tick(major=True) tick = protoTick and replace it with tick = self._get_tick(major=True) The assignment 'tick = protoTick' was causing all ticks to share properties. FYI, matplotlib has a fairly general and extensible tick locator and formatter framework, which you can read about in http://matplotlib.sf.net/matplotlib.ticker.html and in the examples custom_ticker1.py, major_minor_demo1.py and major_minor_demo2.py in the matplotlib src distribution or at http://matplotlib.sf.net/examples. The set_ticks, set_ticklabels, etc, commands are just wrappers for these classes. JDH |
From: Bogdan M. <bog...@gm...> - 2004-07-23 18:59:37
|
Hello again, I've created some axes, and I'm trying to put some custom Ox tick labels on the axes. I would also like to have different alignments for each tick label. This is the code I'm using (with matplotlib.0.61.0a on Win32 with the WXAgg backend): self.axes.set_xticks( [0, 1, 2, 3 ]) th = self.axes.set_xticklabels( ['12:23:000', '+4s', '+8s', '+12s' ] ) th[ 0 ].set_horizontalalignment( 'left' ) th[ 1 ].set_horizontalalignment( 'center' ) th[ 2 ].set_horizontalalignment( 'center' ) th[ 3 ].set_horizontalalignment( 'right' ) But it seems that all the tick labels have the last set alignment (in this case 'right'). Is this a bug, or am I just missing something as usual? Thank you. -- Bogdan |
From: Jeffery D. C. <Jef...@ve...> - 2004-07-22 19:21:39
|
I grabbed the CVS version and it works fine. Thanks for the help! On Thursday 22 July 2004 12:45 pm, John Hunter wrote: > >>>>> "Jeffery" == Jeffery D Collins <Jef...@ve...> writes: > > Jeffery> I'm getting an unexpected keyword error on 'extent'. Is > Jeffery> this keyword available in the latest release or just in > Jeffery> CVS? > > I must be getting soft in the head. I thought this was in the 0.60.2 > release, but you're right, it is not. Just checked the CHANGELOG. > There is a way to do it in 0.60.2, but it is deprecated in CVS. > Arggg. > > Your choices > > * wait for 0.61 (next week) > > * build from CVS - best solution. Fixes some problems with image > extent plus image.origin='lower' reported earlier on > matplotlib-users. > > * use the (deprecated in CVS/0.61) > > im = imshow(A) > gca().set_image_extent(0, 25, 0, 25) > > Sorry for the confusions, > JDH -- ----------------------------------------------------------------- Jeffery D. Collins, Ph.D. Vexcel Corp. Sr. Engineer 1690 38th St. Voice: (303)583-0228 Boulder, CO 80301 Fax: (303)583-0246 vexcel.com |
From: John H. <jdh...@ac...> - 2004-07-22 19:08:58
|
>>>>> "Jeffery" == Jeffery D Collins <Jef...@ve...> writes: Jeffery> I'm getting an unexpected keyword error on 'extent'. Is Jeffery> this keyword available in the latest release or just in Jeffery> CVS? I must be getting soft in the head. I thought this was in the 0.60.2 release, but you're right, it is not. Just checked the CHANGELOG. There is a way to do it in 0.60.2, but it is deprecated in CVS. Arggg. Your choices * wait for 0.61 (next week) * build from CVS - best solution. Fixes some problems with image extent plus image.origin='lower' reported earlier on matplotlib-users. * use the (deprecated in CVS/0.61) im = imshow(A) gca().set_image_extent(0, 25, 0, 25) Sorry for the confusions, JDH |
From: Jeffery D. C. <Jef...@ve...> - 2004-07-22 18:45:18
|
On Thursday 22 July 2004 12:03 pm, John Hunter wrote: > >>>>> "Jeffery" == Jeffery D Collins <Jef...@ve...> writes: > > Jeffery> Is there a (convenient) matplotlib(v0.60.2) equivalent to > Jeffery> the matlab imshow(x,y,A), where x and y are 2-tuples > Jeffery> consisting of the bounds of the x and y axes, > Jeffery> respectively? I have done some limited axis manipulation > Jeffery> using the set_xticklabels and set_yticklabels methods, > Jeffery> but that results in an unattractive plot. > I'm getting an unexpected keyword error on 'extent'. Is this keyword available in the latest release or just in CVS? > If I am understanding you correctly > > >>> imshow(A, extent=(xmin, ymin, xmax, ymax)) > > See also http://matplotlib.sf.net/matplotlib.matlab.html#-imshow and > http://matplotlib.sf.net/examples/image_demo2.py. > > Hope this helps, > JDH -- ----------------------------------------------------------------- Jeffery D. Collins, Ph.D. Vexcel Corp. Sr. Engineer 1690 38th St. Voice: (303)583-0228 Boulder, CO 80301 Fax: (303)583-0246 vexcel.com |
From: John H. <jdh...@ac...> - 2004-07-22 18:27:17
|
>>>>> "Jeffery" == Jeffery D Collins <Jef...@ve...> writes: Jeffery> Is there a (convenient) matplotlib(v0.60.2) equivalent to Jeffery> the matlab imshow(x,y,A), where x and y are 2-tuples Jeffery> consisting of the bounds of the x and y axes, Jeffery> respectively? I have done some limited axis manipulation Jeffery> using the set_xticklabels and set_yticklabels methods, Jeffery> but that results in an unattractive plot. If I am understanding you correctly >>> imshow(A, extent=(xmin, ymin, xmax, ymax)) See also http://matplotlib.sf.net/matplotlib.matlab.html#-imshow and http://matplotlib.sf.net/examples/image_demo2.py. Hope this helps, JDH |
From: Bogdan M. <bog...@gm...> - 2004-07-22 18:26:20
|
Hello, I talked to the wxPython guys, asking them what's up with the printing problems. They were very helpful. They gave me a link to an unofficial build and I installed it. And now the print framework works just fine, and more importantly, I'm able to print directly from PyPlot without problems. So it seems that I'll stick with PyPlot after all. Even if I had to modify it quite a bit in order to add plot marks and other things, and it's not even close to matplotlib when it comes to features. It's not something I want to do, but I have to :( If anybody is interested, this is the link to the unnoficial wxPython build: http://starship.python.net/crew/robind/wxPython/daily/20040717/ Some API calls changed again ... unfortunately. But no too much. Hope this helps at least some of you. Again, thank you very much for your help. I'll stick around here ... I'm sure that I'll find a nice way to integrate matplotlib into my next product. Bogdan |
From: Jeffery D. C. <Jef...@ve...> - 2004-07-22 18:14:24
|
Is there a (convenient) matplotlib(v0.60.2) equivalent to the matlab imshow(x,y,A), where x and y are 2-tuples consisting of the bounds of the x and y axes, respectively? I have done some limited axis manipulation using the set_xticklabels and set_yticklabels methods, but that results in an unattractive plot. Thanks! -- Jeff |
From: Michael O. <mic...@tu...> - 2004-07-22 13:32:06
|
I have just installed the latest CVS version of matplotlib. The EPS/PS=20= backend works well with latex commands and also the png backend, but the GUI does not=20= work anymore. When I ran any of the examples in the examples directory I get the=20 message ** (simple_plot.py:5668): WARNING **: Cannot open font file for font=20 Verdana 10 ** (simple_plot.py:5668): WARNING **: Cannot open fallback font,=20 nothing to do and python terminates. I have set the TTFPATH environment variable and=20= I have added the correct font path in font_manager.py which didn't help. After severe problems with the gtk and pygtk installation via fink I=20 decided to do a manual installation by hand and everything compiled without any problems. Thanks in advance for any help Michael ------------------------------------------------------- Michael Oevermann Technische Universit=E4t Berlin Institut f=FCr Energietechnik Fasanenstr. 89, 10623 Berlin, Germany Phone: +49 (0) 30 314 22452 Fax: +49 (0) 30 314 22157 mailto: mic...@tu... -------------------------------------------------------= |