From: Charles T. <ct...@ma...> - 2003-08-25 05:03:55
|
Hi there, I've just started playing with matplot and am VERY impressed. However, I thought I'd mention two items in case no one else has seen them. 1) There are a lot of Deprecation warnings on loading. 2) I can generate an X Window Error via a gdk crash. Here's the tail of the trace: [------ File "/usr/lib/python2.3/site-packages/matplotlib/text.py", line 310, in _set_font self._layout = self._drawingArea.create_pango_layout(self._text) TypeError: GtkWidget.create_pango_layout() argument 1 must be string, not int The program 'stats.py' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 4152 error_code 8 request_code 73 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) -----] And here's the code. If you run it as is, it works fine (though the plot is ugly.) However, if you uncomment the "set(gca(),...", it gives the error. I've started using matplot in a script to auto-generate a report. -Charles -- Charles R. Twardy Monash University, School of CSSE ctwardy at alumni indiana edu +61(3) 9905 5823 (w) 5146 (fax) ~^~ "eloquence ought to be banish'd out of all civil Societies as a thing fatal to Peace and good Manners..." ~Sprat 1667 |
From: John H. <jdh...@ac...> - 2003-08-26 15:15:41
|
>>>>> "Charles" == Charles Twardy <ct...@ma...> writes: Charles> Hi there, I've just started playing with matplot and am Charles> VERY impressed. Thanks. Charles>However, I thought I'd mention two items Charles> in case no one else has seen them. Charles> 1) There are a lot of Deprecation warnings on loading. Thanks for the alert. Are you using python2.3? I've heard that 2.3 generates deprecation warnings and I plan to get them cleaned up in the near future and do a bug-fix release, probably 0.21. Charles> 2) I can generate an X Window Error via a gdk Charles> crash. Here's the tail of the trace: [------ File Charles> "/usr/lib/python2.3/site-packages/matplotlib/text.py", Charles> line 310, in _set_font self._layout = Charles> self._drawingArea.create_pango_layout(self._text) Charles> TypeError: GtkWidget.create_pango_layout() argument 1 Charles> must be string, not int The program 'stats.py' received Looks like you passed an integer to a text label command in the set(gca..., command that is causing your troubles. If you are trying to set a ticklabel, note that they must be strings, not ints. Eg, set(gca(), 'xticklabels', ['%d' % val for val in arange(8)]) not set(gca(), 'xticklabels', arange(8)) Is this the source of your troubles (The example code you meant to send didn't come through)? Check it out. If not, send me the script that generates the error and I'll take a look. I haven't seen this bug before (and I use the library a lot <wink>). John Hunter |
From: Charles T. <ct...@ma...> - 2003-08-25 23:33:01
|
Yes, I've just started using python2.3, which is almost certainly the source of the deprecation warnings. And yes, I had passed an integer to the text label command. The crash seems a bit harsh, but at least I can avoid that now. I generated a graph with 8 subplots (histograms). I wasn't able to use the title command on the subplots, because the title appeared on top of the plot above it. And I haven't yet figured out how to give the plot an overall title. I'm happy for hints if you have the time. Otherwise I'm fairly happy with what I've got (titles inside each subplot, via the text command, and no overall title). Thanks! This is great! -Charles -- Charles R. Twardy Monash University, School of CSSE ctwardy at alumni indiana edu +61(3) 9905 5823 (w) 5146 (fax) ~^~ "eloquence ought to be banish'd out of all civil Societies as a thing fatal to Peace and good Manners..." ~Sprat 1667 |
From: John H. <jdh...@ac...> - 2003-08-26 13:54:10
|
>>>>> "Charles" == Charles Twardy <ct...@ma...> writes: Charles> Yes, I've just started using python2.3, which is almost Charles> certainly the source of the deprecation warnings. Charles> And yes, I had passed an integer to the text label Charles> command. The crash seems a bit harsh, but at least I can Charles> avoid that now. I've added an automatic string conversion in the set ticklabels functionality, so that any object that can be converted to a string with %s will work as an argument to the ticklabels command. Charles> I generated a graph with 8 subplots (histograms). I Charles> wasn't able to use the title command on the subplots, Charles> because the title appeared on top of the plot above Charles> it. And I haven't yet figured out how to give the plot an Charles> overall title. I'm happy for hints if you have the Charles> time. Otherwise I'm fairly happy with what I've got Charles> (titles inside each subplot, via the text command, and no Charles> overall title). I've needed this functionality too. I just followed matlab's design which is to add the title to the current axes. In CVS, I've added a new figure text function to the class API for Figure. The figure text is in relative 0-1 coords (0,0 is lower left; 1,1 is upper right). You can add a title with gcf().text(0.5, 0.95, 'Figure Title', fontsize=12) You can also add text anywhere else you want in figure coordinates with this command (axis text is in data coordinates). In the examples dir in CVS there is a file figtext.py that illustrates this. Perhaps I'll add a new function figtitle to the matlab functional interface since this comes up fairly often. Charles> Thanks! This is great! Your welcome! John Hunter |
From: Charles T. <ct...@ma...> - 2003-08-30 04:38:05
Attachments:
distance.png
outcomes.png
|
Hi John, The latest CVS changes seem to help! The new deprecations are gone, and my own title works on center justify. But if I try an absurdly long title: gcf().text(0.5, 0.95,'Distance Histograms by Category is a really long title that should flow off', font, fontsize=12) Then I get an X Window Error and my script crashes. Most ungraceful. For fun, I've attached the .pngs I've been working on. Lost-person behavior: distance travelled and outcome of the search, broken down by major categories. (Australian data) -Charles -- Charles R. Twardy Monash University, School of CSSE ctwardy at alumni indiana edu +61(3) 9905 5823 (w) 5146 (fax) ~^~ "eloquence ought to be banish'd out of all civil Societies as a thing fatal to Peace and good Manners..." ~Sprat 1667 |
From: John H. <jdh...@ac...> - 2003-08-30 12:59:50
|
>>>>> "Charles" == Charles Twardy <ct...@ma...> writes: Charles> Hi John, The latest CVS changes seem to help! The new Charles> deprecations are gone, and my own title works on center Charles> justify. Charles> But if I try an absurdly long title: gcf().text(0.5, Charles> 0.95,'Distance Histograms by Category is a really long Charles> title that should flow off', font, fontsize=12) Charles> Then I get an X Window Error and my script crashes. Most Charles> ungraceful. Yes, most. Are you sure you are using the right version? Does line 1702 of figure.py read def clip_gc(gc): gc.set_clip_rectangle( (0, 0, self.width, self.height) ) for t in self._text: t.clip_gc = clip_gc I also tested with a ridiculously long figure title and did not get the X windows crash after making these changes . CVS should have this, but as you've noted, sometimes the mirrors are a little behind. If you have this and are still getting the crashes, let me know and I'll sort it out. Charles> For fun, I've attached the .pngs I've been working Charles> on. Lost-person behavior: distance travelled and outcome Charles> of the search, broken down by major Charles> categories. (Australian data) That's great. Unfortunately I can't look at them right now because I'm logged in remotely from a win32 machine but will check them out Monday. If you'd like to send a script, I can add one of them to the screenshots section of the home page. JDH |
From: Charles R. T. <ct...@ma...> - 2003-08-31 23:33:57
Attachments:
break.py
|
It seems I'm running the new version: * line 1702 of figure.py reads as you asked * I just tried another CVS get and got nothing * I just did another run of setup.py and nothing happened I still get the crash, and can reproduce with a simple 3-line script, attached. }Monday. If you'd like to send a script, I can add one of them to the }screenshots section of the home page. My script is an ugly beast that parses an ugly dataset. But I'll see about getting a demo version. -C -- Charles R. Twardy, Res.Fellow, Monash University, School of CSSE ctwardy at alumni indiana edu +61(3) 9905 5823 (w) 5146 (fax) |
From: John H. <jdh...@ac...> - 2003-09-02 18:54:57
|
>>>>> "Charles" == Charles R Twardy <ct...@ma...> writes: Charles> It seems I'm running the new version: * line 1702 of Charles> figure.py reads as you asked * I just tried another CVS Charles> get and got nothing * I just did another run of setup.py Charles> and nothing happened Charles> I still get the crash, and can reproduce with a simple Charles> 3-line script, attached. Charles> }Monday. If you'd like to send a script, I can add one Charles> of them to the }screenshots section of the home page. My Charles> script is an ugly beast that parses an ugly dataset. But Charles> I'll see about getting a demo version. -C Thanks for the update. I'm knee deep in getting a postscript backend working so I'll take a look at this in the next few days. This is proving to be very helpful because I've abstracted all the drawing operations away from gtk which means it will be relatively easy to port the lib to new output drivers or GUI toolkits. As for the bug, I can replicate the bug on my system with your example script, so it shouldn't be too hard to find and fix. I'll let you know when I get an updated CVS. JDH |