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
(28) |
2
(11) |
3
(15) |
4
(11) |
5
(13) |
6
(33) |
7
(13) |
8
(9) |
9
(2) |
10
(9) |
11
(27) |
12
(5) |
13
(10) |
14
(6) |
15
(9) |
16
(4) |
17
(2) |
18
(19) |
19
(11) |
20
(9) |
21
(16) |
22
(16) |
23
(5) |
24
(2) |
25
(8) |
26
(2) |
27
(11) |
28
(10) |
29
(5) |
30
(1) |
31
(2) |
|
|
|
|
|
|
Dear All, how can I set more color and font for my plot, as I know matplotlib just supporte 8 color strings and five fonts. Is there any way to extend it for all color and font from system ? has every one any useful code about that? Thanks -- View this message in context: http://www.nabble.com/set-font-and-color-problem-tp19175632p19175632.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Hi, Is it possible to create plots that only have a single x-axis on the bottom and a single y-axis on the left, while suppressing an upper or right axis (i.e., have the graph be "open")? Thanks! Uri -- Uri Laserson PhD Candidate, Biomedical Engineering Harvard Medical School (Genetics) Massachusetts Institute of Technology (Mathematics) phone +1 917 742 8019 las...@mi...
Hi, Is it possible to create tick marks that go outwards (i.e., point towards the label) rather than inwards? Thanks! Uri -- Uri Laserson PhD Candidate, Biomedical Engineering Harvard Medical School (Genetics) Massachusetts Institute of Technology (Mathematics) phone +1 917 742 8019 las...@mi...
On Mon, Aug 25, 2008 at 7:17 PM, Michael Droettboom <md...@st...> wrote: > Thanks for spotting this. I don't think a lot of us ever use non-English > locales, so that's fallen through the cracks. > > backend_svg.py was using '%s' to convert floats, to limit the number of > digits written to the file. This works fine with regular floats (since they > do not follow the locale unless explicitly asked to do so), but numpy arrays > seem to always follow the locale. (Not certain whether that inconsistency > could be considered a bug in Numpy). > > In any case, I've committed a workaround to matplotlib, which unfortunately > results in slightly larger SVG files. This is now fixed in SVN r6049. Look > there for a patch if you just want to fix your local backend_svg.py. > Thanks for your lightspeed fix submit ! I patched it and it works fine. Mathieu. > Cheers, > Mike > > Mathieu Leplatre wrote: >> >> Hi, >> >> If I change the locale using cairo backend, the result is fine. >> But with SVG backend, every objects collapse on top-left corner. >> >> As you can see here : >> http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg >> >> I exported it to png with inkscape to reveal objects outside of frame : >> http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png >> >> Cairo output is fine : >> http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg >> >> I guess it's not a unicode problem, since the strings have no >> non-ascii characters. >> >> The code is quite straightforward, it allows me to choose the date >> language for the formatters. >> Let me know if I should fill a bug report. >> Thank you all ! >> >> ---- >> import locale, matplotlib >> from datetime import datetime >> matplotlib.use('svg') >> import pylab, numpy >> >> locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') >> today = datetime.today().strftime("%A") >> >> pylab.title( today ) >> pylab.plot( range(10), numpy.random.randn( 10 )) >> pylab.savefig('localechange-%s' % matplotlib.get_backend()) >> ---- >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > -- > Michael Droettboom > Science Software Branch > Operations and Engineering Division > Space Telescope Science Institute > Operated by AURA for NASA > >
Nils Wagner wrote: > Hi all, > > I was wondering if it is possible to produce animations > like > > http://www.math.uh.edu/~josic/nonautonomous/ > > with pylab ? > Yes. See http://www.scipy.org/Cookbook/Matplotlib/Animations -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jef...@no... 325 Broadway Office : Skaggs Research Cntr 1D-113 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Hi all, I was wondering if it is possible to produce animations like http://www.math.uh.edu/~josic/nonautonomous/ with pylab ? Further information is available in a recent paper by K. Josic and R. Rosenbaum published in SIAM Review. See http://dx.doi.org/10.1137/060677057 Cheers, Nils
Hi Thanks for the replies. I replaced all the fonts of my script to Helvetica and it works fine. Yes, I'm using ps.fonttype=3. The files are pretty small. But I still couldn't find out why matplotlib was getting that ttf Vera... Cheers, Marco On Tue, Aug 26, 2008 at 4:48 AM, Michael Droettboom <md...@st...> wrote: > The "useafm" option is designed to work with the 14 standard Postscript > fonts. I suppose it's possible to use a third-party afm, but such a thing > would be extremely rare. The closest thing to Arial in the standard PS > fonts is Helvetica. > > But yes, this is a bug, only in that the error message could be better, not > that using Arial as an AFM would ever work. > > As for reducing file sizes, are you already using ps.fonttype set to 3? > That will subset a TTF font, and should reduce file sizes over type 42. > > Cheers, > Mike > > Marco A. S. Netto wrote: >> >> Hi everyone >> >> I'm a matplotlib's beginner user and I had a problem that seems to be >> a bug. If I enable the option ps.useafm and I ask for a font that is >> not available in my OS, the matplotlib's font manager tries to get a >> default font, which is Vera (I don't know how the default font is set >> to Vera, since I removed it from the font.serif and font.sans-serif >> lists). The problem is that the font manager is getting a ttf file, in >> my OS it is located at >> /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf. Therefore I'm >> getting the error: >> >> Could not match Arial, normal, 400. Returning >> /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf (this line is >> showed when I use the option --verbose-helpful) >> ... >> ... >> ... >> File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 295, >> in __init__ >> parse_afm(fh) >> File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 281, >> in parse_afm >> _sanity_check(fh) >> File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 76, >> in _sanity_check >> raise RuntimeError('Not an AFM file') >> RuntimeError: Not an AFM file >> >> Is this a bug? Shouldn't matplotlib try to get an AFM default font, >> rather than a ttf font, in case it cannot find what I'm looking for >> (with ps.useafm=True)? In my case I put the font Arial but matplotlib >> was not able to find it. Some details: I'm using ubuntu hardy and >> matplotlib version 0.98.3. backend PS to generated eps files. My >> decision to use AFM is to reduce the file sizes. >> >> Kind regards, >> Marco >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > >
Thanks for spotting this. I don't think a lot of us ever use non-English locales, so that's fallen through the cracks. backend_svg.py was using '%s' to convert floats, to limit the number of digits written to the file. This works fine with regular floats (since they do not follow the locale unless explicitly asked to do so), but numpy arrays seem to always follow the locale. (Not certain whether that inconsistency could be considered a bug in Numpy). In any case, I've committed a workaround to matplotlib, which unfortunately results in slightly larger SVG files. This is now fixed in SVN r6049. Look there for a patch if you just want to fix your local backend_svg.py. Cheers, Mike Mathieu Leplatre wrote: > Hi, > > If I change the locale using cairo backend, the result is fine. > But with SVG backend, every objects collapse on top-left corner. > > As you can see here : > http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg > > I exported it to png with inkscape to reveal objects outside of frame : > http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png > > Cairo output is fine : > http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg > > I guess it's not a unicode problem, since the strings have no > non-ascii characters. > > The code is quite straightforward, it allows me to choose the date > language for the formatters. > Let me know if I should fill a bug report. > Thank you all ! > > ---- > import locale, matplotlib > from datetime import datetime > matplotlib.use('svg') > import pylab, numpy > > locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') > today = datetime.today().strftime("%A") > > pylab.title( today ) > pylab.plot( range(10), numpy.random.randn( 10 )) > pylab.savefig('localechange-%s' % matplotlib.get_backend()) > ---- > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Hi, If I change the locale using cairo backend, the result is fine. But with SVG backend, every objects collapse on top-left corner. As you can see here : http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.svg I exported it to png with inkscape to reveal objects outside of frame : http://mathieu-leplatre.info/media/matplotlib-svg/localechange-svg.png Cairo output is fine : http://mathieu-leplatre.info/media/matplotlib-svg/localechange-cairo.svg I guess it's not a unicode problem, since the strings have no non-ascii characters. The code is quite straightforward, it allows me to choose the date language for the formatters. Let me know if I should fill a bug report. Thank you all ! ---- import locale, matplotlib from datetime import datetime matplotlib.use('svg') import pylab, numpy locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') today = datetime.today().strftime("%A") pylab.title( today ) pylab.plot( range(10), numpy.random.randn( 10 )) pylab.savefig('localechange-%s' % matplotlib.get_backend()) ----
On 2008年8月25日, Michael Droettboom apparently wrote: > The closest thing to Arial in the standard PS fonts is > Helvetica. OT: Just a reminder that this is because Arial was designed as a Helvetica clone for Windows users. Cheers, Alan Isaac
The "useafm" option is designed to work with the 14 standard Postscript fonts. I suppose it's possible to use a third-party afm, but such a thing would be extremely rare. The closest thing to Arial in the standard PS fonts is Helvetica. But yes, this is a bug, only in that the error message could be better, not that using Arial as an AFM would ever work. As for reducing file sizes, are you already using ps.fonttype set to 3? That will subset a TTF font, and should reduce file sizes over type 42. Cheers, Mike Marco A. S. Netto wrote: > Hi everyone > > I'm a matplotlib's beginner user and I had a problem that seems to be > a bug. If I enable the option ps.useafm and I ask for a font that is > not available in my OS, the matplotlib's font manager tries to get a > default font, which is Vera (I don't know how the default font is set > to Vera, since I removed it from the font.serif and font.sans-serif > lists). The problem is that the font manager is getting a ttf file, in > my OS it is located at > /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf. Therefore I'm > getting the error: > > Could not match Arial, normal, 400. Returning > /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf (this line is > showed when I use the option --verbose-helpful) > ... > ... > ... > File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 295, > in __init__ > parse_afm(fh) > File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 281, > in parse_afm > _sanity_check(fh) > File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 76, > in _sanity_check > raise RuntimeError('Not an AFM file') > RuntimeError: Not an AFM file > > Is this a bug? Shouldn't matplotlib try to get an AFM default font, > rather than a ttf font, in case it cannot find what I'm looking for > (with ps.useafm=True)? In my case I put the font Arial but matplotlib > was not able to find it. Some details: I'm using ubuntu hardy and > matplotlib version 0.98.3. backend PS to generated eps files. My > decision to use AFM is to reduce the file sizes. > > Kind regards, > Marco > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
On Aug 22, 2008, at 5:08 AM, Jeff Whitaker wrote: > Zane Selvans wrote: >> I'm drawing several hundred lines at a time, each consisting of >> 10-100 points, and it takes a couple of minutes for them all to >> display, which makes me think I must be doing something stupid. >> > Zane: You can set up a LineCollection like this > > lcoll = LineCollection(segments) > > then add it to the current axes > > ax = pylab.gca() > ax.add_collection(lcoll) > > (instead of using the Basemap plot method). It turned out that just adding: interactive(False) before the drawing loop, and show() after it, sped things up tremendously. Instead of 5 minutes, it now takes about 2 seconds for the map to render. Which, ironically, is much more "interactive" :) Thanks for the pointer to LineCollection though. I'd never seen that. Zane -- Zane Selvans Amateur Earthling http://zaneselvans.org za...@id... 303/815-6866 PGP Key: 55E0815F
Hi, I have a problem with the loglog function with ls='steps' (matplotlib version: 0.98.3). When I try to plot arrays with loglog(x,y,ls='steps'), nothing is drawn whereas loglog(x,y) and plot(x,y,ls='steps'): x=[10.,20.,30.,40.,50.] y=[0.09,0.02,0.02,0.03,0.01] pylab.loglog(x,y) #it works pylab.loglog(x,y,ls='steps') #nothing is drawn... pylab.plot(x,y,ls='steps') #it works Is there something I can do to use loglog with ls='steps'? thanks in advance, Nicolas
On Fri, Aug 15, 2008 at 10:39 AM, CliftonH <tf...@we...> wrote: > I'm plotting data that I get out of a database, which works fine. The only > thing that doesn't work, although it works with any other simple plot, is > the xlim()- and ylim()-function. > ylim(-9,13) > xlim(-2,25) > axhline(color='k') Here is your problem -- all matplotlib plotting functions trigger the autoscaling functionality, so your previous xlim/ylim setting is being overridden. To prevent this, either call xlim/ylim *after* the plotting function, or turn autoscaling off gca().set_autoscale_on(False) JDH
On Thu, Aug 21, 2008 at 7:50 PM, Jae-Joon Lee <lee...@gm...> wrote: > While I don't know much about how callbacks work in matplotlib, > looking at the source code of figure.draw() method, it seems that > call_back functions connected with the "draw_event" are called after a > figure is drawn. Therefore, you need a second draw. My guess is that > this second draw is somehow automagically done in gui backends. > So, a quick and easy solution would be to save the same figure twice. > First one will have a figure before the adjustment, but the second one > will have a figure after the adjustment. This works as you expected :) > Or, you may create a custom figure class which overrides the draw() > method to adjust the margins before you draw the actual figure. > Attached is an example of such custom figure class. I slightly > modified the original example. The solution is nice, I'll go for this one ! I don't feel confident enough yet to look inside the library's code, I definitely should ! Thank you very much Jae-Joon ! > > -JJ > > > > > > > > > On Thu, Aug 21, 2008 at 12:53 PM, Mathieu Leplatre <lep...@gm...> wrote: >> Hi all, >> I am trying to automatically adjust margins with the SVG backend. >> >> The FAQ example : >> http://matplotlib.sourceforge.net/doc/html/faq/howto_faq.html#how-do-i-automatically-make-room-for-my-tick-labels >> only works with GUI backends. >> May it come from get_window_extent() call ? >> >> How could I modify this snipplet so that it works with SVG (or PDF) backends ? >> >> Thank you for your support. >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >
Sure. you may include it if you want. -JJ On Sat, Aug 23, 2008 at 12:10 AM, Jason Grout <jas...@cr...> wrote: > Jae-Joon Lee wrote: >> Hi Jason, >> >> I did made a similar class sometime ago and I'm attaching it just in >> case. I guess it is very similar to yours but I rely on >> matplolib.patches.FancyArrow class to draw the arrow head. >> >> The circle drawn by scatter() command should be a circle with size s >> (the third argument of the scatter command) in points . It seems that >> it is implemented as a unit circle centered at (0,0) with a transform >> corresponding to the size s (and offset). So you may try something >> like below to calculate the size of the circle in data coord. >> >> ax = gca() >> p = scatter([0],[0], 500.) >> tr = p.get_transforms()[0] + ax.transData.inverted() >> x1, y1 = tr.transform_point([0,0]) >> x2, y2 = tr.transform_point([1,0]) >> r = abs(x2 - x1) >> >> p is a collection object and p.get_transforms() is a list of transforms. >> Note that a circle in the canvas coordinate(?) can be an ellipse in >> data coordinates. So, I guess you'd better do things in the canvas >> coordinates. >> >> For shortening your path, if you're only concerned with a straight >> line, it should be straight forward. But I guess it would a bit tricky >> to do this for general bezier curves (as in the example that Alan >> linked). I think (but I may be wrong) there is no universal algorithm >> to find the "all" intersecting points of two bezier curves. There may >> be one for between a bezier curve and a circle. And in this case where >> one point is inside the circle and the other is outside, one simple >> way I can think of is to recursively bisect the bezier curve (similar >> to the bisect root finding). > > Jae-Joon, > > Thank you very much. I am just finishing implementing a working version > of what I wanted in my ArrowLine class; it now shortens itself by a > certain number of points (assuming a line, just using a scale > transformation). However, I use paths for drawing the arrowhead where > you use patches. I think I like the flexibility your approach offers. > Do you mind if I include your code in the GPL-licensed Sage, and extend > it to do this shortening thing that I need? I still haven't decided > which is ultimately better for what I need (my class or your class), but > if you're willing to license your class in a compatible way, that > provides a choice. > > Thanks, > > Jason > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
*embarrassed* Turns out I was looking at a "compressed" version of the image that didn't have all the grid lines on. Examining the full version the image looks correct. I apologize for asking what is not a really dumb question. However, the second question about the colorbar is still puzzling. -Patrick On Sat, Aug 23, 2008 at 9:49 AM, Patrick Marsh < mar...@gm... <marsh.patrick%2Bm...@gm...>>wrote: > Greetings, > > I'm having considerable difficulties in getting the axes grid to display > they way I would like it to. Basically, I'm wanting to grid to be shown for > all of the x/y-ticks displayed, but only an irregular number show up. What > I'm wanting to know is if my code is wrong or am I'm completely overlooking > something. My code is below and an image can be found at > http://forwarn.org/images/USDIFFtest.png. > > Also, I might as well ask...is there a way to manually specify the labels > that are displayed on the colorbar? For instance, in the example below, my > values range from -5 to 4...how would I go about making sure the last 5 was > included in the colorbar? I'll admit I haven't looked into this much as of > now since the first question was / is more pressing. > > Thanks! > > -Patrick Marsh > > > > from __future__ import division > import numpy as np > import pylab as P > import copy > > > def open_text(REGION,FIELD): > # > # > # > global DATAPATH1 > global DATAPATH2 > xaxis1,yaxis1,freq1 = np.loadtxt(DATAPATH1+'bin_CUR_%s_%s.txt' % (REGION, > FIELD), unpack=True) > xaxis2,yaxis2,freq2 = np.loadtxt(DATAPATH2+'bin_FUT_%s_%s.txt' % (REGION, > FIELD), unpack=True) > return(xaxis1,yaxis1,freq1,xaxis2,yaxis2,freq2) > > if __name__ == '__main__': > #Main Program > > > TIME = 'CUR' > REGION = 'PLAINS' > FIELD = 'CAPE-SHR6' > > # PATHS TO THE INPUT (DATA) AND OUTPUT (IMAGES) DIRECTORIES > DATAPATH1 = 'E:/RESEARCH/CCSM_OUTPUT/CURRENT/BIN/' > DATAPATH2 = 'E:/RESEARCH/CCSM_OUTPUT/FUTURE/BIN/' > IMAGEPATH = 'E:/RESEARCH/IMAGES/%s/%s/%s/' % (REGION, TIME, FIELD) > > xaxis1,yaxis1,freq1,xaxis2,yaxis2,freq2 = open_text(REGION, FIELD) > > # TRANSFORM INTO THE CORRECT FORMAT > xaxis1 = xaxis1.reshape(51,-1).T > yaxis1 = yaxis1.reshape(51,-1).T > freq1 = freq1.reshape(51,-1).T > freq2 = freq1.reshape(51,-1).T > > freq1 = freq1 / (12 * 12 * 20) # (12*12*20 for PLAINS).....(29*43*20 > for EUR) > freq2 = freq2 / (12 * 12 * 20) # (12*12*20 for PLAINS).....(29*43*20 > for EUR) > > diff = freq1 - freq2 > > xaxis = np.log10(xaxis1) > yaxis = np.log10(yaxis1) > # xaxis = xaxis1 > # yaxis = yaxis1 > > # levs = np.arange(0,10,.1) > levs = np.arange(-5,5,.1) > xticks = [1,2,5,10,20,50,100,200,500,1000,2000,5000] > yticks = [1,2,5,10,20,50,100] > > x = np.arange(1,10000,1) > > P.figure(figsize=(8,8)) > CS = P.contourf(xaxis,yaxis,diff,levs) > P.xlabel('\nCAPE') > P.ylabel('0-6 km Shear') > P.xlim(0,3) > P.ylim(0,2) > P.xticks(np.log10(xticks),xticks,) > P.yticks(np.log10(yticks),yticks,) > P.plot(np.log10(x),(np.log10(10000/x)),color='black', linewidth=2) > P.colorbar(drawedges=False, orientation='horizontal') > P.grid(True) > P.gca().xaxis.grid(True, which='minor',xdata=xticks,ydata=yticks) > P.title('Difference\nCentral U.S. Normalized Frequency Distribution') > P.savefig('USDIFFtest.png',dpi = 200) >
Greetings, I'm having considerable difficulties in getting the axes grid to display they way I would like it to. Basically, I'm wanting to grid to be shown for all of the x/y-ticks displayed, but only an irregular number show up. What I'm wanting to know is if my code is wrong or am I'm completely overlooking something. My code is below and an image can be found at http://forwarn.org/images/USDIFFtest.png. Also, I might as well ask...is there a way to manually specify the labels that are displayed on the colorbar? For instance, in the example below, my values range from -5 to 4...how would I go about making sure the last 5 was included in the colorbar? I'll admit I haven't looked into this much as of now since the first question was / is more pressing. Thanks! -Patrick Marsh from __future__ import division import numpy as np import pylab as P import copy def open_text(REGION,FIELD): # # # global DATAPATH1 global DATAPATH2 xaxis1,yaxis1,freq1 = np.loadtxt(DATAPATH1+'bin_CUR_%s_%s.txt' % (REGION, FIELD), unpack=True) xaxis2,yaxis2,freq2 = np.loadtxt(DATAPATH2+'bin_FUT_%s_%s.txt' % (REGION, FIELD), unpack=True) return(xaxis1,yaxis1,freq1,xaxis2,yaxis2,freq2) if __name__ == '__main__': #Main Program TIME = 'CUR' REGION = 'PLAINS' FIELD = 'CAPE-SHR6' # PATHS TO THE INPUT (DATA) AND OUTPUT (IMAGES) DIRECTORIES DATAPATH1 = 'E:/RESEARCH/CCSM_OUTPUT/CURRENT/BIN/' DATAPATH2 = 'E:/RESEARCH/CCSM_OUTPUT/FUTURE/BIN/' IMAGEPATH = 'E:/RESEARCH/IMAGES/%s/%s/%s/' % (REGION, TIME, FIELD) xaxis1,yaxis1,freq1,xaxis2,yaxis2,freq2 = open_text(REGION, FIELD) # TRANSFORM INTO THE CORRECT FORMAT xaxis1 = xaxis1.reshape(51,-1).T yaxis1 = yaxis1.reshape(51,-1).T freq1 = freq1.reshape(51,-1).T freq2 = freq1.reshape(51,-1).T freq1 = freq1 / (12 * 12 * 20) # (12*12*20 for PLAINS).....(29*43*20 for EUR) freq2 = freq2 / (12 * 12 * 20) # (12*12*20 for PLAINS).....(29*43*20 for EUR) diff = freq1 - freq2 xaxis = np.log10(xaxis1) yaxis = np.log10(yaxis1) # xaxis = xaxis1 # yaxis = yaxis1 # levs = np.arange(0,10,.1) levs = np.arange(-5,5,.1) xticks = [1,2,5,10,20,50,100,200,500,1000,2000,5000] yticks = [1,2,5,10,20,50,100] x = np.arange(1,10000,1) P.figure(figsize=(8,8)) CS = P.contourf(xaxis,yaxis,diff,levs) P.xlabel('\nCAPE') P.ylabel('0-6 km Shear') P.xlim(0,3) P.ylim(0,2) P.xticks(np.log10(xticks),xticks,) P.yticks(np.log10(yticks),yticks,) P.plot(np.log10(x),(np.log10(10000/x)),color='black', linewidth=2) P.colorbar(drawedges=False, orientation='horizontal') P.grid(True) P.gca().xaxis.grid(True, which='minor',xdata=xticks,ydata=yticks) P.title('Difference\nCentral U.S. Normalized Frequency Distribution') P.savefig('USDIFFtest.png',dpi = 200)
Hi Mike, On Freitag, 22. August 2008, Michael Droettboom wrote: > Can you provide a standalone script to illustrate this problem? Already provided in the last mail. I've added a second one where you can switch between gtk and gtkagg backend. > I suspect that the position of the text is somehow negative and is > getting masked away by the log transformation (which is obviously > undefined for negative numbers). There are no negative numbers in the example. the gtk backend still doesn't work. > Also, have you tried the GtkAgg backend instead? That sees a lot > more usage, and therefore may not contain this bug. Just tried gtkagg and it works fine. It even guesses a good minimal value for the log range if the plot has negative data. I will switch to that backend in my application. > That said, this case should be handled correctly and probably > requires a check. Regards Werner
Jae-Joon Lee wrote: > Hi Jason, > > I did made a similar class sometime ago and I'm attaching it just in > case. I guess it is very similar to yours but I rely on > matplolib.patches.FancyArrow class to draw the arrow head. > > The circle drawn by scatter() command should be a circle with size s > (the third argument of the scatter command) in points . It seems that > it is implemented as a unit circle centered at (0,0) with a transform > corresponding to the size s (and offset). So you may try something > like below to calculate the size of the circle in data coord. > > ax = gca() > p = scatter([0],[0], 500.) > tr = p.get_transforms()[0] + ax.transData.inverted() > x1, y1 = tr.transform_point([0,0]) > x2, y2 = tr.transform_point([1,0]) > r = abs(x2 - x1) > > p is a collection object and p.get_transforms() is a list of transforms. > Note that a circle in the canvas coordinate(?) can be an ellipse in > data coordinates. So, I guess you'd better do things in the canvas > coordinates. > > For shortening your path, if you're only concerned with a straight > line, it should be straight forward. But I guess it would a bit tricky > to do this for general bezier curves (as in the example that Alan > linked). I think (but I may be wrong) there is no universal algorithm > to find the "all" intersecting points of two bezier curves. There may > be one for between a bezier curve and a circle. And in this case where > one point is inside the circle and the other is outside, one simple > way I can think of is to recursively bisect the bezier curve (similar > to the bisect root finding). Jae-Joon, Thank you very much. I am just finishing implementing a working version of what I wanted in my ArrowLine class; it now shortens itself by a certain number of points (assuming a line, just using a scale transformation). However, I use paths for drawing the arrowhead where you use patches. I think I like the flexibility your approach offers. Do you mind if I include your code in the GPL-licensed Sage, and extend it to do this shortening thing that I need? I still haven't decided which is ultimately better for what I need (my class or your class), but if you're willing to license your class in a compatible way, that provides a choice. Thanks, Jason
Hi everyone I'm a matplotlib's beginner user and I had a problem that seems to be a bug. If I enable the option ps.useafm and I ask for a font that is not available in my OS, the matplotlib's font manager tries to get a default font, which is Vera (I don't know how the default font is set to Vera, since I removed it from the font.serif and font.sans-serif lists). The problem is that the font manager is getting a ttf file, in my OS it is located at /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf. Therefore I'm getting the error: Could not match Arial, normal, 400. Returning /usr/share/fonts/truetype/tf-bitstream-vera/Vera.ttf (this line is showed when I use the option --verbose-helpful) ... ... ... File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 295, in __init__ parse_afm(fh) File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 281, in parse_afm _sanity_check(fh) File "/usr/lib/python2.5/site-packages/matplotlib/afm.py", line 76, in _sanity_check raise RuntimeError('Not an AFM file') RuntimeError: Not an AFM file Is this a bug? Shouldn't matplotlib try to get an AFM default font, rather than a ttf font, in case it cannot find what I'm looking for (with ps.useafm=True)? In my case I put the font Arial but matplotlib was not able to find it. Some details: I'm using ubuntu hardy and matplotlib version 0.98.3. backend PS to generated eps files. My decision to use AFM is to reduce the file sizes. Kind regards, Marco
I've installed the Enthought Python Distribution for Mac OS on my MacOS 10.4 Intel machine. when i try to install basemap-0.99.1 I get this error: gcc: unrecognized option '-no-cpp-precomp' cc1: error: unrecognized command line option "-mno-fused-madd" cc1: error: unrecognized command line option "-arch" cc1: error: unrecognized command line option "-arch" cc1: error: unrecognized command line option "-Wno-long-double" error: Command "gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/ MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -Isrc -I/Library/ Frameworks/Python.framework/Versions/4.0.30001/lib/python2.5/site- packages/numpy-1.1.1.0001-py2.5-macosx-10.3-fat.egg/numpy/core/ include -I/Library/Frameworks/Python.framework/Versions/4.0.30001/ include/python2.5 -c src/PJ_gn_sinu.c -o build/temp.macosx-10.3- i386-2.5/src/PJ_gn_sinu.o" failed with exit status 1 Any ideas? lisa tauxe
Hi Jason, I did made a similar class sometime ago and I'm attaching it just in case. I guess it is very similar to yours but I rely on matplolib.patches.FancyArrow class to draw the arrow head. The circle drawn by scatter() command should be a circle with size s (the third argument of the scatter command) in points . It seems that it is implemented as a unit circle centered at (0,0) with a transform corresponding to the size s (and offset). So you may try something like below to calculate the size of the circle in data coord. ax = gca() p = scatter([0],[0], 500.) tr = p.get_transforms()[0] + ax.transData.inverted() x1, y1 = tr.transform_point([0,0]) x2, y2 = tr.transform_point([1,0]) r = abs(x2 - x1) p is a collection object and p.get_transforms() is a list of transforms. Note that a circle in the canvas coordinate(?) can be an ellipse in data coordinates. So, I guess you'd better do things in the canvas coordinates. For shortening your path, if you're only concerned with a straight line, it should be straight forward. But I guess it would a bit tricky to do this for general bezier curves (as in the example that Alan linked). I think (but I may be wrong) there is no universal algorithm to find the "all" intersecting points of two bezier curves. There may be one for between a bezier curve and a circle. And in this case where one point is inside the circle and the other is outside, one simple way I can think of is to recursively bisect the bezier curve (similar to the bisect root finding). Regards, -JJ On Fri, Aug 22, 2008 at 12:15 PM, Alan G Isaac <ai...@am...> wrote: > Jason Grout wrote: >> The other problem is a more serious problem for me: how do >> I shorten the line so that it goes between the boundaries >> of the circle instead of the centers, especially when the >> circles are constructed in a scatter plot. > > Some years back I briefly tried to think about arrows and > I found it trickier than expected. Note that some famous > software clearly does arrows wrong. (E.g., gnuplot, at > least last I checked.) > > Example: you have decided that you want to draw to the edge > of a point, but a) is that right and b) can it be reasonably > implemented? > > a) One might well argue in many applications that the arrow > tip should go to the center of the circle. > > b) I'm not sure. > > But surely somebody out there will offer some great clues. > Perhaps along the line of graphviz: > http://www.graphviz.org/Gallery/directed/fsm.html > > Really this is not an answer to your questions ... > > Cheers, > Alan Isaac > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Alan G Isaac wrote: > Jason Grout wrote: >> The other problem is a more serious problem for me: how do >> I shorten the line so that it goes between the boundaries >> of the circle instead of the centers, especially when the >> circles are constructed in a scatter plot. > > Some years back I briefly tried to think about arrows and > I found it trickier than expected. Note that some famous > software clearly does arrows wrong. (E.g., gnuplot, at > least last I checked.) > > Example: you have decided that you want to draw to the edge > of a point, but a) is that right and b) can it be reasonably > implemented? > > a) One might well argue in many applications that the arrow > tip should go to the center of the circle. I'm sure there are lots of applications where this is true. My specific problem domain is drawing graphs, exactly as graphviz. Often there is a label inside the circle. Drawing to the edge of the circle is the standard way of doing it, so a) is yes, it is the right thing to do. Things like flowcharts are another example of wanting to do this. > > b) I'm not sure. Thanks; at least this is validating the amount of time I already spent thinking about this and trying to get it to work. > > But surely somebody out there will offer some great clues. > Perhaps along the line of graphviz: > http://www.graphviz.org/Gallery/directed/fsm.html > > Really this is not an answer to your questions ... Thanks for your comments. I think I'll post up another post asking some more specific questions, along the lines of what I think might work if I can figure out what matplotlib is thinking. Jason
Can you provide a standalone script to illustrate this problem? I suspect that the position of the text is somehow negative and is getting masked away by the log transformation (which is obviously undefined for negative numbers). Also, have you tried the GtkAgg backend instead? That sees a lot more usage, and therefore may not contain this bug. That said, this case should be handled correctly and probably requires a check. I'm away from the office and won't be able to look into this further until next week. Cheers, Mike