Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
On Mon, Oct 18, 2010 at 12:54 AM, Benjamin Root wrote: > On Sun, Oct 17, 2010 at 5:35 PM, braingateway > wrote: >> >> Hi Everyone, >> >> I am trying the matplotlib. I have to say this is a powerful package for >> scientific 2-D plotting. However, I encountered some problems when try >> to generate several colormaps. >> >> for example: >> a=cm.get_cmap('gist_rainbow',256)(range(256)) >> will give a error: >> Traceback (most recent call last): >> File "", line 1, in >> a=cm.get_cmap('gist_rainbow',256)(range(256)) >> File "...\site-packages\matplotlib\colors.py", line 498, in __call__ >> if not self._isinit: self._init() >> File "...\site-packages\matplotlib\colors.py", line 649, in _init >> self._segmentdata['red'], self._gamma) >> TypeError: tuple indices must be integers, not str >> >> but other colormaps can actually work: >> a=cm.get_cmap('gist_stern',256)(range(256)) >> >>> a >> array([[ 0. , 0. , 0. , 1. ], >> [ 0.0716923 , 0.00392157, 0.00784314, 1. ], >> [ 0.14338459, 0.00784314, 0.01568627, 1. ], >> ..., >> [ 0.99215686, 0.99215686, 0.97040326, 1. ], >> [ 0.99607843, 0.99607843, 0.98520163, 1. ], >> [ 1. , 1. , 1. , 1. ]]) >> >> I tried all possible colormaps and found out: gist_rainbow, terrain, >> bwr, brg, and seismic will generate the same error, all other colormaps >> are OK. I wonder is this a bug or expected behavior? >> ### >> ##matplotlib verison : '1.0.svn' >> >>> maps=[m for m in cm.datad if not m.endswith("_r")] >> >>> for i in maps: >> try: >> a=cm.get_cmap(i,256)(range(256)) >> except: >> (type, value, traceback) = sys.exc_info() >> print "Problems to create %s" % (i,) >> print "The error was --> %s: %s" % (type, value) >> >> >> Problems to create gist_rainbow >> The error was --> : tuple indices must be >> integers, not str >> Problems to create terrain >> The error was --> : tuple indices must be >> integers, not str >> Problems to create bwr >> The error was --> : tuple indices must be >> integers, not str >> Problems to create brg >> The error was --> : tuple indices must be >> integers, not str >> Problems to create seismic >> The error was --> : tuple indices must be >> integers, not str >> ## >> > > Is there any particular reason why you are doing the "(range(256))"? Keep > in mind that a colormap in matplotlib works differently than a colormap in > Matlab. In Matlab, the colormap is a 2-D array of rgb values, while in > matplotlib, it is an object that is used by the backends for > color-rendering. > > Often times, you will not need to do anything more than specify which > colormap you want by name e.g., pcolor(X, Y, Z, cmap='gist_rainbow'), or by > passing in a customized or self-made colormap object to the 'cmap' keyword > argument. > > What is happening in your code when you call '(range(256))' is that the > colormap is being called for an array of values ranging from 0 to 255 and > is determining what the color will be for each of those values. What seems > to be happening with those few colormaps is that the call is being made > before those maps are properly self-initialized. So, there might be some > sort of flaw here that you have exposed, but I would suggest taking another > look at what you are trying to accomplish to see if there is a better way. > > Thanks for giving matplotlib a try and I hope you continue to use it for > your work! > > Ben Root > > Hi Ben, Thanks a lot for answering my question! I am a newbie to matplotlib, so please forgive me, if the question is stupid ;p In my program I wanna know the exact RGBA value of a data point in the figure, in order to plot a corresponding line with the same color in another figure. That is why I need to call a(z) to get RGBA value of a point at (x,y,z) (z is represented by color). If I understood it correctly, you said I do not need to specify the 'lut' in cm.get_cmap(name,lut)? I thought the colormap object is actually a lookup table with a length specified by lut. It turns out I do not need to specify anything here. But if I do not specify anything the colormap.N is always 256. What will happen then, if I need more color steps? I do notice a(2) and a(2.2) returns different values. So I am very confused about the principle how the RGBA value is generated by the colormaps. LittleBigBrain -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] plotting slow in directories with many files
Hi, I encountered this particular problem quite often now. If you use matplotlib in a directory that contains a large number of files, things become extremely slow after calling pylab.show(). I suspect the interface internally lists all files in that directory? I often have to plot from directories with huge amounts of data, is there a way to change that behavior? Regards, Maximilian -- View this message in context: http://old.nabble.com/plotting-slow-in-directories-with-many-files-tp29988783p29988783.html Sent from the matplotlib - users mailing list archive at Nabble.com. -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] AxesGrid and add_axes
Hi guys, I made a class which create a special plot in the parent figure (matplotlib.pyplot.figure) given as a argument to the __init__ method. To show more than one instance of this class in the matrix I make a grid (mpl_toolkits.axes_grid.AxesGrid) and initialize the class with proper element of this grid instead of the figure class instance. Naturely this does not work, because this grid element (mpl_toolkits.axes_grid1.axes_divider.LocatableAxes) is not inherent from the matplotlib.pyplot.figure class, so the methods are different. Problematic part of my code is line: axe2D = self.figure.add_axes(rect), where self.figure represents the 'parent area'. Do you have any idea, howto solve this incompatibility? Radek -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
2010/10/18 脑关(BrainGateway)生命科学仪器 : > On Mon, Oct 18, 2010 at 12:54 AM, Benjamin Root wrote: >> On Sun, Oct 17, 2010 at 5:35 PM, braingateway >> wrote: >>> I tried all possible colormaps and found out: gist_rainbow, terrain, >>> bwr, brg, and seismic will generate the same error, all other colormaps >>> are OK. I wonder is this a bug or expected behavior? > Hi Ben, > Thanks a lot for answering my question! I am a newbie to matplotlib, > so please forgive me, if the question is stupid ;p Questions are never stupid ... > In my program I wanna know the exact RGBA value of a data point in the > figure, in order to plot a corresponding line with the same color in > another figure. That is why I need to call a(z) to get RGBA value of a > point at (x,y,z) (z is represented by color). If I understood it > correctly, you said I do not need to specify the 'lut' in > cm.get_cmap(name,lut)? I thought the colormap object is actually a > lookup table with a length specified by lut. Kind of, but it's initialised from a linear segmentation dictionary, so you can get cmaps with a precision you want. > It turns out I do not > need to specify anything here. Default param is 256. > But if I do not specify anything the > colormap.N is always 256. What will happen then, if I need more color > steps? cm = get_cmap('...', 1024) > I do notice a(2) and a(2.2) returns different values. So I am > very confused about the principle how the RGBA value is generated by > the colormaps. It's the "magic" to distinguish between integer (in the LUT range) and float (in [0.0, 1.0]). 2 gives the LUT entry 2, 2.0 will give the upper value since it's > 1, as will 2.2 do. Try 0.5, and 0.6, or 0.0 and 0.1. Actually I cannot reproduce your error on a recently (some weeks ago) checked-out GitHub repo version of mpl 1.0.0. Please provide mpl.__version__ so that we check if that's the reason - as simple as it might be. MacBook-Pro-Friedrich:Report Friedrich$ python Python 2.6.5 (r265:79063, Jul 18 2010, 12:14:53) [GCC 4.2.1 (Apple Inc. build 5659)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import matplotlib.cm >>> cm = matplotlib.cm.get_cmap('gist_rainbow') >>> cm(range(256)) array([[ 1., 0., 0.16 , 1.], [ 1., 0., 0.13908497, 1.], [ 1., 0., 0.11816993, 1.], ..., [ 1., 0., 0.79262575, 1.], [ 1., 0., 0.77131287, 1.], [ 1., 0., 0.75 , 1.]]) >>> print matplotlib.__version__ 1.0.0 The attribute of the cm where the error occurs on your machine is set to a valid value for me. I also cannot find any code path leading to a wrong initialisation of the attribute. Might be that the data the cm is init'ed from changed. There is a code path initialising the cm from a tuple (your attribute was a tuple used like a dict), but this works too: (terrain is such an example): >>> cm = matplotlib.cm.get_cmap('terrain') >>> cm(range(256)) array([[ 0.2 , 0.2 , 0.6 , 1.], [ 0.19477124, 0.21045752, 0.61045752, 1.], [ 0.18954248, 0.22091503, 0.62091503, 1.], ..., [ 0.98431373, 0.97992157, 0.97898039, 1.], [ 0.99215686, 0.98996078, 0.9894902 , 1.], [ 1., 1., 1., 1.]]) Might be that there was 'red' misspelled in gist_rainbow in you mpl version, this may explain the behaviour if we track it down. Can you do the following to verify this: import matplotlib._cm print matplotlib._cm._gist_stern_data ? Thx, Friedrich -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] AxesGrid and add_axes
A figure is a figure and an axes is an axes. They are NOT interchangeable. The AxesGrid essentially creates a list of axes. As you may already know, only figure class has an add_axes method. And axes can only be added to a figure. You cannot add an axes to another axes. Since I have no idea what kind of special plot your code creates, I can only suggest you to revise your code to take an axes instance as an input, not a figure instance. If you can, please post a simple, but complete code that demonstrate your problem. Regards, -JJ -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
2010/10/18 Friedrich Romstedt : > 2010/10/18 脑关(BrainGateway)生命科学仪器 : >> On Mon, Oct 18, 2010 at 12:54 AM, Benjamin Root wrote: >>> On Sun, Oct 17, 2010 at 5:35 PM, braingateway >>> wrote: I tried all possible colormaps and found out: gist_rainbow, terrain, bwr, brg, and seismic will generate the same error, all other colormaps are OK. I wonder is this a bug or expected behavior? >> Hi Ben, >> Thanks a lot for answering my question! I am a newbie to matplotlib, >> so please forgive me, if the question is stupid ;p > > Questions are never stupid ... > >> In my program I wanna know the exact RGBA value of a data point in the >> figure, in order to plot a corresponding line with the same color in >> another figure. That is why I need to call a(z) to get RGBA value of a >> point at (x,y,z) (z is represented by color). If I understood it >> correctly, you said I do not need to specify the 'lut' in >> cm.get_cmap(name,lut)? I thought the colormap object is actually a >> lookup table with a length specified by lut. > > Kind of, but it's initialised from a linear segmentation dictionary, > so you can get cmaps with a precision you want. > >> It turns out I do not >> need to specify anything here. > > Default param is 256. > >> But if I do not specify anything the >> colormap.N is always 256. What will happen then, if I need more color >> steps? > > cm = get_cmap('...', 1024) > >> I do notice a(2) and a(2.2) returns different values. So I am >> very confused about the principle how the RGBA value is generated by >> the colormaps. > > It's the "magic" to distinguish between integer (in the LUT range) and > float (in [0.0, 1.0]). 2 gives the LUT entry 2, 2.0 will give the > upper value since it's > 1, as will 2.2 do. Try 0.5, and 0.6, or 0.0 > and 0.1. > > Actually I cannot reproduce your error on a recently (some weeks ago) > checked-out GitHub repo version of mpl 1.0.0. Please provide > mpl.__version__ so that we check if that's the reason - as simple as > it might be. > > MacBook-Pro-Friedrich:Report Friedrich$ python > Python 2.6.5 (r265:79063, Jul 18 2010, 12:14:53) > [GCC 4.2.1 (Apple Inc. build 5659)] on darwin > Type "help", "copyright", "credits" or "license" for more information. import matplotlib.cm cm = matplotlib.cm.get_cmap('gist_rainbow') cm(range(256)) > array([[ 1. , 0. , 0.16 , 1. ], > [ 1. , 0. , 0.13908497, 1. ], > [ 1. , 0. , 0.11816993, 1. ], > ..., > [ 1. , 0. , 0.79262575, 1. ], > [ 1. , 0. , 0.77131287, 1. ], > [ 1. , 0. , 0.75 , 1. ]]) print matplotlib.__version__ > 1.0.0 > > The attribute of the cm where the error occurs on your machine is set > to a valid value for me. I also cannot find any code path leading to > a wrong initialisation of the attribute. Might be that the data the > cm is init'ed from changed. There is a code path initialising the cm > from a tuple (your attribute was a tuple used like a dict), but this > works too: (terrain is such an example): > cm = matplotlib.cm.get_cmap('terrain') cm(range(256)) > array([[ 0.2 , 0.2 , 0.6 , 1. ], > [ 0.19477124, 0.21045752, 0.61045752, 1. ], > [ 0.18954248, 0.22091503, 0.62091503, 1. ], > ..., > [ 0.98431373, 0.97992157, 0.97898039, 1. ], > [ 0.99215686, 0.98996078, 0.9894902 , 1. ], > [ 1. , 1. , 1. , 1. ]]) > > Might be that there was 'red' misspelled in gist_rainbow in you mpl > version, this may explain the behaviour if we track it down. Can you > do the following to verify this: > > import matplotlib._cm > print matplotlib._cm._gist_stern_data > > ? Thx, > Friedrich > Thanks a lot for your detailed response! In previous posts I did give the version: '1.0.svn'. Then I installed the latest stable version. Here is the version info: >>> print matplotlib.__version__ 1.0.0 However, the error is still there. You could not reproduce the error in your code, because you did not specify 'lut' when you call get_cmap try this: maps=[m for m in matplotlib.cm.datad if not m.endswith("_r")] for i in maps: try: a=matplotlib.cm.get_cmap(i,256)(range(256)) except: (type, value, traceback) = sys.exc_info() print "Problems to create %s" % (i,) print "The error was --> %s: %s" % (type, value) u will reproduce the error. Thanks very much to point out I could actually print the colormap definition-data. I printed all of them, and found out the colormaps invoking errors are all tuples but not dictionaries and all other colormaps are actually dictionaries. ###Examples without Errors### ###They are all dictionaries### print matplotlib._cm._gist_stern_data {'blue': ((0.0, 0.0, 0.0), (0.5, 1.0, 1.0), (0
Re: [Matplotlib-users] AxesGrid and add_axes
While you cannot add an axes to another axes, you can set position of an axes "relative to" another axes. The threads below show simple approaches. http://thread.gmane.org/gmane.comp.python.matplotlib.general/16373 http://old.nabble.com/embedding-figures-inside-another-%28coordinates%29-td22826126.html#a22832238 This may or may not work on your cases depending the complexity of your plots. Of course, if you need more control on the axes position, you may implement your own axes_locator. Regards, -JJ On Mon, Oct 18, 2010 at 9:33 PM, Radek Machulka wrote: > That 'spacial plot' is just several simple plots placed in the 'parent > figure'. So my class just create this bunch of plots as an axes and place them > somewhere. > This is the 'plotting core' of my class: > > # plot 1 > rect1 = [a, b, c, d] # where a, b, c and d values depends on the data, ... > self.plot1 = self.figure.add_axes(rect1) > self.plot1.plot(data1) > > and the same (similar) for rest of plots (with differnt a,b,c,d values, of > course). > > So since it is not possible to place axes to another axes there is probably no > solution for my problem. > What can I probably do is create grid of figures (if figures are realy only > element where can axes be placed), but this seems not possible, or rewrite my > class using different elements for subplots instead of axes, if there is > anything... > > Well, thanks for clarifying this, I should definitely read more documentation > before I start code so complex apps. > But Thank You anyway > Radek > > Dne pondělí 18 října 2010 13:49:34 jste napsal(a): >> A figure is a figure and an axes is an axes. They are NOT >> interchangeable. The AxesGrid essentially creates a list of axes. >> >> As you may already know, only figure class has an add_axes method. And >> axes can only be added to a figure. You cannot add an axes to another >> axes. >> >> Since I have no idea what kind of special plot your code creates, I >> can only suggest you to revise your code to take an axes instance as >> an input, not a figure instance. >> >> If you can, please post a simple, but complete code that demonstrate >> your problem. >> >> Regards, >> >> -JJ > -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] closing figure inside a callback seg faults
I seem to have run into this problem with wx years ago -- destroying the widget that fed an event from a callback causes issues. As Chris suggested, the following seems to work, however: import matplotlib.pyplot as plt import wx def close_figure(): plt.close() def onclick(event): if event.button==1: wx.CallAfter(close_figure) fig = plt.gcf() cid = fig.canvas.mpl_connect('button_press_event', onclick) plt.show() Mike On 10/15/2010 08:35 PM, Chris Barker wrote: > On 10/15/10 5:16 PM, Paul Ivanov wrote: > >> I want to do something like this: >> >> import matplotlib.pyplot as plt >> def onclick(event): >> if event.button==1: >> plt.close() >> fig = plt.gcf() >> cid = fig.canvas.mpl_connect('button_press_event', onclick) >> plt.show() >> >> I've tried several variations on this theme, but all of them cause >> crashes. Am I missing something? >> >> I'm using 1.0.0 with WXAgg >> >> thanks, >> >> > I don't know if MPL events do anything like this, but since you are > using wx, you could probably use wx.CallAfter() (or wx.CallLater(), call > one of those in your callback,a nd tehn have the function called close > the figure. > > -Chris > > > -- > Download new Adobe(R) Flash(R) Builder(TM) 4 > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly > Flex(R) Builder(TM)) enable the development of rich applications that run > across multiple browsers and platforms. Download your free trials today! > http://p.sf.net/sfu/adobe-dev2dev > ___ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] plotting slow in directories with many files
matplotlib, under normal usage, doesn't list all files in the current directory. Can you provide the steps you perform before calling show()? What platform are you on, and which backend are you using? Mike On 10/18/2010 05:54 AM, mfabulous wrote: > Hi, > > I encountered this particular problem quite often now. If you use matplotlib > in a directory that contains a large number of files, things become > extremely slow after calling pylab.show(). I suspect the interface > internally lists all files in that directory? > > I often have to plot from directories with huge amounts of data, is there a > way to change that behavior? > > Regards, > > Maximilian > -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] plotting slow in directories with many files
On Mon, Oct 18, 2010 at 8:42 AM, Michael Droettboom wrote: > matplotlib, under normal usage, doesn't list all files in the current > directory. Can you provide the steps you perform before calling > show()? What platform are you on, and which backend are you using?\ The only thing I could think of is that matplotlib.matplotlib_fname does: fname = os.path.join( os.getcwd(), 'matplotlibrc') if os.path.exists(fname): return fname So if os.path.exists is slow for directories with many files, this could be the culprit (though it would surprise me). Maximilian, these lines are found in matplotlib/__init__.py -- you may want to try commenting them out and rerunning to see if this helps your issue. JDH -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Text overlapping in mplot3d legends
Dear all, Is there a way of avoiding the overlap between the text of the labels and the text of the ticks? This is what I am getting: http://4c.ucc.ie/~lquesada/tmp/surface.pdf Currently I am only doing this: ax.set_xlabel('Distance',fontsize=16) ax.set_ylabel('Size',fontsize=16) ax.set_zlabel('Cost',fontsize=16) Is it also possible to give an orientation to the labels? It would be nicer if they are oriented parallel to the axis.. Thanks in advance for your advice! Cheers, Luis -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
2010/10/18 LittleBigBrain : > Hi Friedrich, > > Thanks for produce the patch. But I do not know how to use 'git'. And > I cannot find the changes you made on web. > though the latest update by you is 2 hours ago, in the online source > archive the latest file is modified on October 11, 2010 in 'trunk'. Yes I agree, I didn't check, I was too quick. Thanks for this further bug report in Friedrich Romstedt.py :-). I forgot to push the new branch. The file is here online: http://github.com/friedrichromstedt/matplotlib/blob/friedrichromstedt-get_cmap/lib/matplotlib/cm.py. Notice that the default branch on the repo is grayscale, when you go in via http://github.com/friedrichromstedt/matplotlib. I send the file attached. Just rename the current cm.py and put in the new one, it should work. You said you were using svn before, so I assumed you compiled yourself. How did you manage to use svn without compiling? Can you run the test suite? Friedrich cm.py Description: Binary data -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Ticks Size
Hi How do I make the tick size bigger as in thicker/bolder? matplotlib.rc('ytick.major', size=5) makes it longer but 'not' thicker. Ted -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
On Mon, Oct 18, 2010 at 6:23 PM, Friedrich Romstedt wrote: > 2010/10/18 LittleBigBrain : >> Hi Friedrich, >> >> Thanks for produce the patch. But I do not know how to use 'git'. And >> I cannot find the changes you made on web. >> though the latest update by you is 2 hours ago, in the online source >> archive the latest file is modified on October 11, 2010 in 'trunk'. > > Yes I agree, I didn't check, I was too quick. Thanks for this further > bug report in Friedrich Romstedt.py :-). I forgot to push the new > branch. > > The file is here online: > http://github.com/friedrichromstedt/matplotlib/blob/friedrichromstedt-get_cmap/lib/matplotlib/cm.py. > Notice that the default branch on the repo is grayscale, when you go > in via http://github.com/friedrichromstedt/matplotlib. > > I send the file attached. Just rename the current cm.py and put in > the new one, it should work. You said you were using svn before, so I > assumed you compiled yourself. How did you manage to use svn without > compiling? > > Can you run the test suite? > > Friedrich > The colormap functions seem all OK. But I got other errors irrelevant to your update. I manually checked all images invoking errors, they are all OK. Somehow, their file handles are not closed properly before reopening. Here is the test result: >>> import nose >>> print nose.__version__ 0.11.4 >>> import PIL >>> print PIL.__version__ >>> from PIL import Image >>> Image.VERSION '1.1.7' >>> import matplotlib >>> matplotlib.__version__ '1.0.0' >>> matplotlib.test() FAILED (KNOWNFAIL=90, errors=14) == ERROR: matplotlib.tests.test_axes.test_basic_annotate -- Traceback (most recent call last): File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", line 186, in runTest self.test(*self.arg) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 32, in failer result = f(*args, **kwargs) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 126, in decorated_compare_images '(RMS %(rms).3f)'%err) ImageComparisonFailure: images not close: D:\works\matplotlibTest\result_images\test_axes\offset_points.png vs. D:\works\matplotlibTest\result_images\test_axes\expected-offset_points.png (RMS 223.063) == ERROR: matplotlib.tests.test_axes.test_fill_units -- Traceback (most recent call last): File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", line 186, in runTest self.test(*self.arg) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 32, in failer result = f(*args, **kwargs) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 126, in decorated_compare_images '(RMS %(rms).3f)'%err) ImageComparisonFailure: images not close: D:\works\matplotlibTest\result_images\test_axes\fill_units.png vs. D:\works\matplotlibTest\result_images\test_axes\expected-fill_units.png (RMS 58.830) == ERROR: matplotlib.tests.test_axes.test_single_point -- Traceback (most recent call last): File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", line 186, in runTest self.test(*self.arg) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 32, in failer result = f(*args, **kwargs) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 126, in decorated_compare_images '(RMS %(rms).3f)'%err) ImageComparisonFailure: images not close: D:\works\matplotlibTest\result_images\test_axes\single_point.png vs. D:\works\matplotlibTest\result_images\test_axes\expected-single_point.png (RMS 11.705) == ERROR: matplotlib.tests.test_axes.test_single_date -- Traceback (most recent call last): File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", line 186, in runTest self.test(*self.arg) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 32, in failer result = f(*args, **kwargs) File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", line 126, in decorated_compare_images '(RMS %(rms).3f)'%err) ImageComparisonFailure: images not close: D:\works\matplotlibTest\result_images\test_axes\single_date.png vs. D:\works\matplotlibTest\result_images\test_axes\expected-single_date.png (RMS 583.302) == ERROR: matplotlib.tests.test_axes.test_shaped_data --
Re: [Matplotlib-users] problem of cm.get_cmap('gist_rainbow',256)
On Mon, Oct 18, 2010 at 8:25 PM, LittleBigBrain wrote: > On Mon, Oct 18, 2010 at 6:23 PM, Friedrich Romstedt > wrote: >> 2010/10/18 LittleBigBrain : >>> Hi Friedrich, >>> >>> Thanks for produce the patch. But I do not know how to use 'git'. And >>> I cannot find the changes you made on web. >>> though the latest update by you is 2 hours ago, in the online source >>> archive the latest file is modified on October 11, 2010 in 'trunk'. >> >> Yes I agree, I didn't check, I was too quick. Thanks for this further >> bug report in Friedrich Romstedt.py :-). I forgot to push the new >> branch. >> >> The file is here online: >> http://github.com/friedrichromstedt/matplotlib/blob/friedrichromstedt-get_cmap/lib/matplotlib/cm.py. >> Notice that the default branch on the repo is grayscale, when you go >> in via http://github.com/friedrichromstedt/matplotlib. >> >> I send the file attached. Just rename the current cm.py and put in >> the new one, it should work. You said you were using svn before, so I >> assumed you compiled yourself. How did you manage to use svn without >> compiling? >> >> Can you run the test suite? >> >> Friedrich >> > The colormap functions seem all OK. But I got other errors irrelevant > to your update. I manually checked all images invoking errors, they > are all OK. Somehow, their file handles are not closed properly before ~~No, I was wrong. For some reason, the RMS are too big. But with a glance, I did not see any visible difference in the pictures so far. > reopening. > > Here is the test result: import nose print nose.__version__ > 0.11.4 import PIL print PIL.__version__ from PIL import Image Image.VERSION > '1.1.7' import matplotlib matplotlib.__version__ > '1.0.0' matplotlib.test() > FAILED (KNOWNFAIL=90, errors=14) > == > ERROR: matplotlib.tests.test_axes.test_basic_annotate > -- > Traceback (most recent call last): > File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", > line 186, in runTest > self.test(*self.arg) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 32, in failer > result = f(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 126, in decorated_compare_images > '(RMS %(rms).3f)'%err) > ImageComparisonFailure: images not close: > D:\works\matplotlibTest\result_images\test_axes\offset_points.png vs. > D:\works\matplotlibTest\result_images\test_axes\expected-offset_points.png > (RMS 223.063) > > == > ERROR: matplotlib.tests.test_axes.test_fill_units > -- > Traceback (most recent call last): > File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", > line 186, in runTest > self.test(*self.arg) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 32, in failer > result = f(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 126, in decorated_compare_images > '(RMS %(rms).3f)'%err) > ImageComparisonFailure: images not close: > D:\works\matplotlibTest\result_images\test_axes\fill_units.png vs. > D:\works\matplotlibTest\result_images\test_axes\expected-fill_units.png > (RMS 58.830) > > == > ERROR: matplotlib.tests.test_axes.test_single_point > -- > Traceback (most recent call last): > File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", > line 186, in runTest > self.test(*self.arg) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 32, in failer > result = f(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 126, in decorated_compare_images > '(RMS %(rms).3f)'%err) > ImageComparisonFailure: images not close: > D:\works\matplotlibTest\result_images\test_axes\single_point.png vs. > D:\works\matplotlibTest\result_images\test_axes\expected-single_point.png > (RMS 11.705) > > == > ERROR: matplotlib.tests.test_axes.test_single_date > -- > Traceback (most recent call last): > File "C:\Python26\lib\site-packages\nose-0.11.4-py2.6.egg\nose\case.py", > line 186, in runTest > self.test(*self.arg) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 32, in failer > result = f(*args, **kwargs) > File "C:\Python26\lib\site-packages\matplotlib\testing\decorators.py", > line 126, in decorated_compare_images > '(RMS %(rms).3f)'
[Matplotlib-users] scientific notation in ticklabels for linear plot
Hi, I'm wondering if there's some relatively automatic way to have the ticklabels to come out in scientific notation for an axis that uses a linear scale (and has a range that warrants scientific notation)? For example, an axis that goes from 0 to 2.E18 by default uses the labels 0, 0.5, 1.0, 1.5, 2.0 and puts 1e18 at the end of the axis. To me this is unappealing. 1e18 is a computer programming way to write the 10^{18} (in LaTeX formatting). In IDL the ticklabels are 5.0x10^{17}, 1.0x10^{18}, 1.5x10^{18}, 2.0x10^{18}. This is one instance where I think IDL gets it right and matplotlib gets it wrong. So, as far as I can tell, one can give the ticklabels by hand, and so I could achieve my desired labels that way, but it'd be nice to have a more automatic way to do it. Searching the examples, I've come up empty so far. I would also advocate changing the default format for labeling axes that fall in this category. Do the developers have any opinions on this? Regards, Jon -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Libertine font in Matplotlib?
Hi all; I'm using the excellent font Linux Libertine for writing my thesis, in which I do my plotting in matplotlib. I would really love to be ablu to have consistent fonts in both text and graphs - is this possible? I know it can be loaded by \usepackage{libertine}. Best; Emil -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Ticks Size
On Mon, Oct 18, 2010 at 12:46 PM, Ted Kord wrote: > Hi > > How do I make the tick size bigger as in thicker/bolder? > > matplotlib.rc('ytick.major', size=5) makes it longer but 'not' thicker. > > Ted I[1]: plt.plot(range(100)) O[1]: [] I[2]: xticks = getp(gca(), 'xticklines') I[3]: xgrids = getp(gca(), 'xgridlines') I[4]: setp(xgrids, linewidth=2) O[4]: [None, None, None, None, None, None] I[5]: setp(xticks, linewidth=5) O[55]: [None, None, None, None, None, None, None, None, None, None, None, None] This should be the solution. However xgrids are finely set to a bigger linewidth whereas xticks doesn't change. I[6]: xticks O[6]: I[6]: xgrids O[6]: I[7]: xticks[0] O[7]: I[8]: xgrids[1] O[8]: Interestingly xticks is returned as a list of Text objects, while each element of this list looks like a Line2D (which really supposed to be.) Can you try these on your side? -- Gökhan -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Ticks Size
On 10/18/2010 09:42 AM, Gökhan Sever wrote: > On Mon, Oct 18, 2010 at 12:46 PM, Ted Kord wrote: >> Hi >> >> How do I make the tick size bigger as in thicker/bolder? >> >> matplotlib.rc('ytick.major', size=5) makes it longer but 'not' thicker. >> >> Ted > > I[1]: plt.plot(range(100)) > O[1]: [] > > I[2]: xticks = getp(gca(), 'xticklines') > > I[3]: xgrids = getp(gca(), 'xgridlines') > > I[4]: setp(xgrids, linewidth=2) > O[4]: [None, None, None, None, None, None] > > I[5]: setp(xticks, linewidth=5) > O[55]: [None, None, None, None, None, None, None, None, None, None, None, > None] setp(xticks, markeredgewidth=4) Ticks are markers. Eric -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Ticks Size
On Mon, Oct 18, 2010 at 5:36 PM, Eric Firing wrote: > > setp(xticks, markeredgewidth=4) > > Ticks are markers. > > Eric Good catch. Thanks for the fix. -- Gökhan -- Download new Adobe(R) Flash(R) Builder(TM) 4 The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly Flex(R) Builder(TM)) enable the development of rich applications that run across multiple browsers and platforms. Download your free trials today! http://p.sf.net/sfu/adobe-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Log scaling error on rev8753
Hello, I can't log scale my axes on rev8753. It was working on a previous check-out (possibly a month old). Using WXagg, but same as with Qt4Agg. Any ideas what could be wrong in the trunk? It seems to me that some recent changes on LogLocator [ http://matplotlib.svn.sourceforge.net/viewvc/matplotlib/trunk/matplotlib/lib/matplotlib/ticker.py?view=log ]class causing this. I[5]: d_um_pcasp_midpoint O[5]: array([ 0.124 , 0.1485, 0.179 , 0.2145, 0.2585, 0.333 , 0.5195, 0.7955, 1.15 , 1.7805, 2.437 , 2.7865, 3.187 , 3.991 , 4.957 ]) I[6]: pcasp_spectral_density09d O[6]: array([ 523.31751809, 200.73229115, 179.82563138, 183.13125583, 160.62733458, 48.77147359, 22.23106603,7.56501192, 10.94637257,8.47475684, 21.53335341, 32.950845 , 30.502102 , 28.90555459, 21.38636076]) I[7]: plt.plot(d_um_pcasp_midpoint, pcasp_spectral_density09d) O[7]: [] I[8]: ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (554, 0)) ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (555, 0)) ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (555, 0)) ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (555, 0)) --- ValueErrorTraceback (most recent call last) /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backends/backend_wx.pyc in _onKeyDown(self, evt) 1254 key = self._get_key(evt) 1255 evt.Skip() -> 1256 FigureCanvasBase.key_press_event(self, key, guiEvent=evt) 1257 1258 def _onKeyUp(self, evt): /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backend_bases.pyc in key_press_event(self, key, guiEvent) 1525 s = 'key_press_event' 1526 event = KeyEvent(s, self, key, self._lastx, self._lasty, guiEvent=guiEvent) -> 1527 self.callbacks.process(s, event) 1528 1529 def key_release_event(self, key, guiEvent=None): /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/cbook.pyc in process(self, s, *args, **kwargs) 260 del self.callbacks[s][cid] 261 else: --> 262 proxy(*args, **kwargs) 263 264 /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/cbook.pyc in __call__(self, *args, **kwargs) 186 mtd = self.func 187 # invoke the callable and return the result --> 188 return mtd(*args, **kwargs) 189 190 def __eq__(self, other): /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backend_bases.pyc in key_press(self, event) 2254 elif scalex == 'linear': 2255 ax.set_xscale('log') -> 2256 ax.figure.canvas.draw() 2257 2258 elif (event.key.isdigit() and event.key!='0') or event.key in all: /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backends/backend_wxagg.pyc in draw(self, drawDC) 57 """ 58 DEBUG_MSG("draw()", 1, self) ---> 59 FigureCanvasAgg.draw(self) 60 61 self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backends/backend_agg.pyc in draw(self) 392 393 self.renderer = self.get_renderer() --> 394 self.figure.draw(self.renderer) 395 396 def get_renderer(self): /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 53 def draw_wrapper(artist, renderer, *args, **kwargs): 54 before(artist, renderer) ---> 55 draw(artist, renderer, *args, **kwargs) 56 after(artist, renderer) 57 /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/figure.pyc in draw(self, renderer) 872 dsu.sort(key=itemgetter(0)) 873 for zorder, func, args in dsu: --> 874 func(*args) 875 876 renderer.close_group('figure') /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 53 def draw_wrapper(artist, renderer, *args, **kwargs): 54 before(artist, renderer) ---> 55 draw(artist, renderer, *args, **kwargs) 56 after(artist, renderer) 57 /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/axes.pyc in draw(self, renderer, inframe) 1952 1953 for zorder, a in dsu: -> 1954