Re: [Matplotlib-users] Omitting curves from a legend
Bill Baxter wrote: There are a couple things about legend that I'm finding a little irksome. Is there some better way to do this? 1) if you have a contour, legend() wants to add all the contours to the list. calling contour(...,label='_nolegend_') doesn't seem to help. I think it would be quite unusual that someone would want contour lines to show up in a legend, so I made the change I suggested in an earlier response to this thread: the LineCollections in the ContourSet now have their labels set to _nolegend_. If someone really does want contour lines in a legend, these labels still can be changed manually, as described earlier in this thread. Eric - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Omitting curves from a legend
On 4/13/07, Bill Baxter [EMAIL PROTECTED] wrote: There are a couple things about legend that I'm finding a little irksome. Is there some better way to do this? 1) if you have a contour, legend() wants to add all the contours to the list. calling contour(...,label='_nolegend_') doesn't seem to help. You should be able to set the _nolegend_ label property on the contour set line collections like so: cs = contour(...blah...) for coll in cs.collections: coll.set_label('_nolegend_') of use setp for the same purpose. setp(cs.collections, label='_nolegend_') contour doesn't use the kwargs to set the line collection properties, which is why it is not working in the contour commands. some plot commands use the kwargs to update the artist properties that the plot command creates, some do not, and the only way to know is the read the individual docstrings of the commands. Let me know if this works because it is untested. JDH - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Omitting curves from a legend
Maybe I should make _nolegend_ the default for contour and contourf collections? Eric John Hunter wrote: On 4/13/07, Bill Baxter [EMAIL PROTECTED] wrote: There are a couple things about legend that I'm finding a little irksome. Is there some better way to do this? 1) if you have a contour, legend() wants to add all the contours to the list. calling contour(...,label='_nolegend_') doesn't seem to help. You should be able to set the _nolegend_ label property on the contour set line collections like so: cs = contour(...blah...) for coll in cs.collections: coll.set_label('_nolegend_') of use setp for the same purpose. setp(cs.collections, label='_nolegend_') contour doesn't use the kwargs to set the line collection properties, which is why it is not working in the contour commands. some plot commands use the kwargs to update the artist properties that the plot command creates, some do not, and the only way to know is the read the individual docstrings of the commands. Let me know if this works because it is untested. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Omitting curves from a legend
Ok. Thanks. I'll give the setp on the ContourSet thing a try. Documentation issue/question: I figured there was probably some way to set attributes individually using the return value from contour since contour's docstring helpfully tells me that countour returns a ContourSet object. However, 'ContourSet?' in ipython gives me nothing. Similarly with plot(), it says it returns a 'list of lines' but that is not so useful since I can't look up the docstring for 'list of lines'. --bb On 4/17/07, Eric Firing [EMAIL PROTECTED] wrote: Maybe I should make _nolegend_ the default for contour and contourf collections? Eric John Hunter wrote: On 4/13/07, Bill Baxter [EMAIL PROTECTED] wrote: There are a couple things about legend that I'm finding a little irksome. Is there some better way to do this? 1) if you have a contour, legend() wants to add all the contours to the list. calling contour(...,label='_nolegend_') doesn't seem to help. You should be able to set the _nolegend_ label property on the contour set line collections like so: cs = contour(...blah...) for coll in cs.collections: coll.set_label('_nolegend_') of use setp for the same purpose. setp(cs.collections, label='_nolegend_') contour doesn't use the kwargs to set the line collection properties, which is why it is not working in the contour commands. some plot commands use the kwargs to update the artist properties that the plot command creates, some do not, and the only way to know is the read the individual docstrings of the commands. Let me know if this works because it is untested. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Omitting curves from a legend
Bill Baxter [EMAIL PROTECTED] writes: Documentation issue/question: I figured there was probably some way to set attributes individually using the return value from contour since contour's docstring helpfully tells me that countour returns a ContourSet object. However, 'ContourSet?' in ipython gives me nothing. Similarly with plot(), it says it returns a 'list of lines' but that is not so useful since I can't look up the docstring for 'list of lines'. Call setp on the returned object: In [8]:y = plot(sin(arange(10))) In [9]:setp(y) alpha: float animated: [True | False] antialiased or aa: [True | False] axes: unknown ... xdata: array ydata: array zorder: any number And similarly: In [11]:z = contour(outerproduct(arange(10), arange(10))) In [12]:setp(z) alpha: unknown array: unknown clim: a length 2 sequence of floats cmap: a colormap colorbar: unknown label_props: unknown norm: unknown Or, in ipython you can type z.set_TAB to see the completions. With the list returned from plot you cannot simply type y[0].set_TAB but have to assign the value of y[0] to a variable first. -- Jouni K. Seppänen http://www.iki.fi/jks - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users