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
(20) |
2
(16) |
3
(9) |
4
(12) |
5
(14) |
6
(22) |
7
(17) |
8
(33) |
9
(26) |
10
(32) |
11
(47) |
12
(26) |
13
(7) |
14
(24) |
15
(44) |
16
(42) |
17
(22) |
18
(31) |
19
(8) |
20
(4) |
21
(15) |
22
(27) |
23
(41) |
24
(33) |
25
(31) |
26
(24) |
27
(10) |
28
(20) |
|
|
|
|
|
|
On Sun, Feb 14, 2010 at 2:49 PM, T J <tj...@gm...> wrote: > I ran across: > > http://old.nabble.com/half-filled-markers-td24003576.html > > The name "fillstyle" can give the wrong impression about what is being > filled. For example, see the comment here: > > http://www.mail-archive.com/mat...@li.../msg13074.html > > It's probably too late, but would "markerfillstyle" be a better name for this? > > Also, the current implementation fills half of the marker with the > markerfacecolor and doesn't fill the marker at all for the other half. > I think a neat (and simple) feature would be for users to specify two > colors. Perhaps 'markerfacecolor2'. The change to the code is > minimal, but the functionality it brings is quite flexible. > markerfacecolor2 can default to 'none' to maintain current > functionality. > > Should I file a ticket for this? > I went ahead and implemented this. The user can now specify 'markercoloralt'. In the process, I finished the "half-marker" code for all remaining filled_markers. The diff is attached, which also includes a fix for bug #560720: https://sourceforge.net/tracker/?func=detail&aid=2952236&group_id=80706&atid=560720 Please comment. If there are no comments in a few days, I'll file a ticket. A picture demonstrating this functionality is attached. Demos for all filled markers can be obtained here: http://www.filedropper.com/filledmarkers Note, the diff contains the script used to generate the pictures. More generally, I wonder if there should be a 'markerangle' keyword. I can probably push through and implement this, but I'd like to hear what people think about it.
Tim Michelsen wrote: > Hello, > I have a similar problem to: >> Suppose I plot a line from (0,0) to (1,1.5) to (2,2). Now I want to mark >> (1,1.5) with a green circle. How is that done? > Your problem is not similar to the above; the problem above is solved with a simple call to "plot". > I am performing a curve fit and also showing a distribution in my plot. > In order to help the reader to evaluate the result I would like to draw certain > boundaries (vertical and horizontal line). > While I am aware on how to draw such lines, I would like to know wheather there > are some functions in matplotlib which help me to retrieve the coordinates > > a) at which two curves intersect > b) at which a distribution reaches a certain value? > I think this is strictly a computational problem, not a plotting problem, so I suggest you post the question to the numpy or scipy lists. Eric > Example: > How do I get the y-axis value which is reached by the green curve in > http://matplotlib.sourceforge.net/_images/histogram_demo_extended_021.png > a x-axis value of in 175? > > I could proably use a solver from numpy like > http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html#numpy.linalg.solve > but if I plot a distribution, the equation of the envelove is unknown at the > first place. > > I'd appreciate your help or pointers to examples. > > Thanks a lot in advance, > Timmie > > > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Well, I looked at the links, and only one that seemed right for this was the first one. I found this:<br> <br> If not, please provide the following information in your e-mail to the <a class="reference external" href="http://lists.sourceforge.net/mailman/listinfo/matplotlib-users">mailing list</a>:<br> <br> So here's my report. Mostly spelling errors. See attached. I have no way of marking it up, but the problem is simple. About 7 or so places misuse the word axes. On page 199 of the same document, five lines down, it says ," does not want to redrawing". "redraw". That's it. The list of 5 commands below it, leave me puzzled. Question marks, for one. <br> <br> That's it. <br> <br> <br> On 2/13/2010 6:58 PM, John Hunter wrote: <blockquote cite="mid:88e...@ma..." type="cite"> <pre wrap="">On Sat, Feb 13, 2010 at 6:44 AM, Wayne Watson <a class="moz-txt-link-rfc2396E" href="mailto:sie...@sb..."><sie...@sb...></a> wrote: </pre> <blockquote type="cite"> <pre wrap="">In this case, it's spelling errors, mostly. axes for axis, etc. </pre> </blockquote> <pre wrap=""> <a class="moz-txt-link-freetext" href="http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html#report-a-problem">http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html#report-a-problem</a> <a class="moz-txt-link-freetext" href="http://matplotlib.sourceforge.net/faq/howto_faq.html#contributing-howto">http://matplotlib.sourceforge.net/faq/howto_faq.html#contributing-howto</a> <a class="moz-txt-link-freetext" href="http://matplotlib.sourceforge.net/faq/howto_faq.html#contribute-to-matplotlib-documentation">http://matplotlib.sourceforge.net/faq/howto_faq.html#contribute-to-matplotlib-documentation</a> JDH </pre> </blockquote> <br> <div class="moz-signature">-- <br> "Crime is way down. War is declining. And that's far from the good news." -- Steven Pinker (and other sources) Why is this true, but yet the media says otherwise? The media knows very well how to manipulate us (see limbic, emotion, $$). -- WTW</div> </body> </html>
Hi Nico, I'm pretty sure the functionality is buried in there but unfortunately I couldn't figure out how to put it into the imsave function, so for now I think you have to resort to using PIL to do this. Gary R. Nico Schlömer wrote: > Hi, > > I see that with imsave() it's possible to save an image based on its > cmap. Is there also functionality in matplotlib to to store a file > based on RGB(alpha) information? > > Cheers, > Nico
Hi, I am trying to develop an application that I can run inside the ipython shell. One of my methods creates a plot, asks the user to make a choice based on that plot, and then creates another plot that displays the chosen set of information. If the choices are made with a qt or wx dialogue, everything goes fine. If I try to get the choice by asking the user to type the information into the shell, neither plot appears until after the choice is made. I have tried show() and draw() but neither make any difference. thanks for any help Ken Dere
Yes, yes! what he said... Thanks a lot JJ. Dear developers, would it make sense to have setp(axes1.get_xticklabels(), visible=False) also automatically set axes1.xaxis.offsetText.set_visible(False) ? Cheers, Jan On Mon, Feb 15, 2010 at 5:10 PM, Jae-Joon Lee <lee...@gm...> wrote: > Try > > ax1.xaxis.offsetText.set_visible(False) > > where ax1 is the upper axes. > > Regards, > > -JJ > > > On Mon, Feb 15, 2010 at 4:50 AM, Jan Strube <cur...@gm...> wrote: > > Hi Jeff, > > thanks for your quick reply. > > Unfortunately, the line you sent me doesn't have any effect on the plot, > > either before or after turning off the tick labels. > > Do you have another suggestion? > > Cheers, > > Jan > > On Sun, Feb 14, 2010 at 11:28 PM, Jeffrey Blackburne <je...@mi...> > wrote: > >> > >> On Feb 14, 2010, at 5:41 PM, Jan Strube wrote: > >> > >>> Dear matplotters, > >>> > >>> I'm trying to follow > >>> > >>> > http://matplotlib.sourceforge.net/examples/pylab_examples/ganged_plots.html > >>> as an example how to turn of the ticks in the case of shared x axes. > >>> The tick labels are gone, but unfortunately, matplotlib still plots a > >>> '1e5' on the axis for which I have turned off the tick labels. > >>> Please see the attached file for the problem > >>> > >>> How can I also switch of the exponent? > >>> > >>> Thanks, > >>> Jan > >> > >> > >> Try this: > >> > >> > ax.xaxis.set_major_formatter(mpl.ticker.ScalarFormatter(useOffset=False)) > >> > >> where 'ax' is the name of the top subplot. > >> > >> Good luck, > >> Jeff > >> > > > > > > > ------------------------------------------------------------------------------ > > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > http://p.sf.net/sfu/solaris-dev2dev > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > >
All, This error: The debugged program raised the exception unhandled AttributeError "'FigureCanvasMac' object has no attribute 'buffer_rgba'" File: /Users/darnold/Documents/temp/Matplotlib/PylabExamples/agg_buffer_to_array.py, Line: 16 is raised by the following script on my Macbook. # agg_buffer_to_array.py import matplotlib matplotlib.use('macosx') from pylab import figure, show import numpy as np # make an agg figure fig = figure() ax = fig.add_subplot(111) ax.plot([1,2,3]) ax.set_title('a simple figure') fig.canvas.draw() # grab rhe pixel buffer and dumpy it into a numpy array buf = fig.canvas.buffer_rgba(0,0) l, b, w, h = fig.bbox.bounds X = np.fromstring(buf, np.uint8) X.shape = h,w,4 # now display the array X as an Axes in a new figure fig2 = figure() ax2 = fig2.add_subplot(111, frameon=False) ax2.imshow(X) show() This is captured from: http://matplotlib.sourceforge.net/examples/pylab_examples/agg_buffer_to_array.html With: matplotlib.use('Agg') Nothing happens at all. With --verbose-helpful, yields the following: $HOME=/Users/darnold CONFIGDIR=/Users/darnold/.matplotlib matplotlib data path /Library/Frameworks/Python.framework/Versions/6.0.0/lib/python2.6/site-packages/matplotlib/mpl-data loaded rc file /Users/darnold/.matplotlib/matplotlibrc matplotlib version 0.99.1.1 verbose.level helpful interactive is False units is False platform is darwin Using fontManager instance from /Users/darnold/.matplotlib/fontList.cache backend agg version v2.2 findfont: Matching :family=sans-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=medium to Bitstream Vera Sans (/Library/Frameworks/Python.framework/Versions/4.3.0/lib/python2.5/site-packages/matplotlib-0.98.5.2n2-py2.5-macosx-10.3-fat.egg/matplotlib/mpl-data/fonts/ttf/Vera.ttf) with score of 0.000000 findfont: Matching :family=sans-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=large to Bitstream Vera Sans (/Library/Frameworks/Python.framework/Versions/4.3.0/lib/python2.5/site-packages/matplotlib-0.98.5.2n2-py2.5-macosx-10.3-fat.egg/matplotlib/mpl-data/fonts/ttf/Vera.ttf) with score of 0.000000 Both matplotlib.use('tkagg') and matplotlib.use('wxagg') work as they should. David.
> As far as I can see, it is the other way around, i.e., mappables > (e.g., images) know about the colorbar they are connected. Well yeah, that'd be even better. I'll check out the API. -- Hints would still be appreciated of course. --Nico
On Sun, Feb 14, 2010 at 10:36 PM, David Arnold <dwa...@su...>wrote: > All, > > This example: > http://matplotlib.sourceforge.net/examples/event_handling/keypress_demo.html > > Raises this exception o my Macbook when the key 's' is pressed: > > The debugged program raised the exception unhandled TypeError > "save_figure() takes exactly 1 argument (2 given)" > File: > /Library/Frameworks/Python.framework/Versions/6.0.0/lib/python2.6/site-packages/matplotlib/backend_bases.py, > Line: 1703 > I had reported this "s" key-handling issue before at http://old.nabble.com/Assigning-%22k%22-key-for-xscaling-td27262672.html (By the way, I and Matthias expanding the key-handling functionality a little bit further -configuring and deassigning keys etc... Maybe by means of this e-mail someone can review the patch at that mail and apply to the trunk) And yes I am getting a similar error when I hit "s" using Qt4Agg backend on MPL svn8105 I[1]: plt.plot(range(10)) O[1]: [<matplotlib.lines.Line2D object at 0x9fa096c>] I[2]: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backends/backend_qt4.pyc in keyPressEvent(self, event) 150 def keyPressEvent( self, event ): 151 key = self._get_key( event ) --> 152 FigureCanvasBase.key_press_event( self, key ) 153 if DEBUG: print 'key press', key 154 /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backend_bases.pyc in key_press_event(self, key, guiEvent) 1290 s = 'key_press_event' 1291 event = KeyEvent(s, self, key, self._lastx, self._lasty, guiEvent=guiEvent) -> 1292 self.callbacks.process(s, event) 1293 1294 def key_release_event(self, key, guiEvent=None): /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/cbook.pyc in process(self, s, *args, **kwargs) 167 self._check_signal(s) 168 for func in self.callbacks[s].values(): --> 169 func(*args, **kwargs) 170 171 /home/gsever/Desktop/python-repo/matplotlib/lib/matplotlib/backend_bases.pyc in key_press(self, event) 1890 self.canvas.toolbar.zoom() 1891 elif event.key == s: -> 1892 self.canvas.toolbar.save_figure(self.canvas.toolbar) 1893 1894 if event.inaxes is None: TypeError: save_figure() takes exactly 1 argument (2 given) [gsever@ccn various]$ python sysinfo.py ================================================================================ Platform : Linux-2.6.31.9-174.fc12.i686.PAE-i686-with-fedora-12-Constantine Python : ('CPython', 'tags/r262', '71600') IPython : 0.10 NumPy : 1.5.0.dev8038 Matplotlib : 1.0.svn (python setupegg.py develop newer shows matplotlib.__version__ correctly :) ================================================================================ Thanks. > > David > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Gökhan
On Mon, Feb 15, 2010 at 12:25 PM, Nico Schlömer <nic...@gm...> wrote: > Well, it's related to the TikZ converter I'm writing. After having > created the plot, the script is of course totally oblivious to what > exact commands were used. > I was thinking that there is still some sort of bond between the color > bar and its parent plot after their creation, e.g., for when the color > map of the main plot is changed. -- Is that not the case? I doubt it. As far as I can see, it is the other way around, i.e., mappables (e.g., images) know about the colorbar they are connected. But I hope some other developers can confirm (or dispute) this. For this kind of work, you need to understand some of internals of matplotlib, and I recommend you to go through the matplotlib sources. Regards, -JJ > > --Nico > > > > On Mon, Feb 15, 2010 at 6:16 PM, Jae-Joon Lee <lee...@gm...> wrote: >> Is there any reason that you need to find out which axes is a color >> bar axes from the list of axes? Can you just keep references to >> colorbars you create? >> >> cbar = colorbar() >> cax = cbar.ax >> >> cax is the axes instance of the colobar you just created. >> >> Regards, >> >> -JJ >> >> >> On Mon, Feb 15, 2010 at 12:04 PM, Nico Schlömer >> <nic...@gm...> wrote: >>> Hi, >>> >>> when plotting a color bar with a plot in matplotlib, the color bar >>> gets treated internally as Axes. >>> >>> With two main plots, each of which comes with a color bar, one structurally gets >>> >>> <class 'matplotlib.figure.Figure'> >>> <class 'matplotlib.axes.Axes'> >>> <class 'matplotlib.axes.Axes'> >>> <class 'matplotlib.axes.Axes'> >>> <class 'matplotlib.axes.Axes'> >>> >>> (that is, a Figure has for childres Axes). To find out which one of >>> those is a color bar, I basically inspect their children an look for >>> Arrays with shape (256,), which is what color bars look like. That's >>> ugly of course, but it kind of works(tm). :) >>> >>> I'm having problems, though, with associating color bars with the >>> specific plot. Can I rely on the rule that an Axes -- if it has a >>> color bar --, is immediately followed by the corresponding (color bar) >>> Axes environment? Are there any other properties I could check to >>> identify color bars? (Tried get_label to no avail.) >>> >>> Cheers, >>> Nico >>> >>> ------------------------------------------------------------------------------ >>> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, >>> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW >>> http://p.sf.net/sfu/solaris-dev2dev >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> >
I cannot reproduce this error both with 0.99.1 maintenance branch and the current svn (with GtkAgg backend). What version of matplotlib and what backend are you using? http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html Regards, -JJ On Sun, Feb 14, 2010 at 11:36 PM, David Arnold <dwa...@su...> wrote: > All, > > This example: http://matplotlib.sourceforge.net/examples/event_handling/keypress_demo.html > > Raises this exception o my Macbook when the key 's' is pressed: > > The debugged program raised the exception unhandled TypeError > "save_figure() takes exactly 1 argument (2 given)" > File: /Library/Frameworks/Python.framework/Versions/6.0.0/lib/python2.6/site-packages/matplotlib/backend_bases.py, Line: 1703 > > David > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
On Mon, Feb 15, 2010 at 2:32 AM, rcnelson <rne...@gm...> wrote: > 1) Are there any plans or would it make sense to add another keyword to the > pyplot.arrow function that allows you to choose the arrow class you would > like to use? The default could be FancyArrow so that the original usage of > pyplot.arrow will not be affected. The axes.arrow function - which it looks > like it gets called by the pyplot.arrow function - could then convert the > input arguments into the form necessary for the class you choose. > I recommend you to use "annotate" (see below). Because most of these things are already addressed by "annotate", I don't see any immediate need to enhance "arrow". But maybe it would be a good idea to mention about "annotate" in the "arrow" documentation and vice versa. > 2) Or... Is there a simple way that you can call the arrow function with > start and end points in data coordinates, but have the arrow parameters > calculated in normalized figure coordinates? I think FancyArrow calculates > the head and body points using a line perpendicular to the line of the arrow > in data coordinates, which I think is the source of my problem (? -- at > least that is what I found doing some test calculations on my own). However, > if I call the pyplot.arrow function with the following keywords, > 'trasform=fig.transFigure, figure=fig' (as per the Artist tutorial, see > below), then the arrow looks okay, but it needs to be positioned in > normalized figure coordinates and it does not move when you zoom or > translate the plot. > I guess you can just use "annotate" (with empty string) for your purpose. See the the example below. http://matplotlib.sourceforge.net/users/annotations_guide.html#annotating-with-arrow Let me know if it does not fits your need. Regards, -JJ
Well, it's related to the TikZ converter I'm writing. After having created the plot, the script is of course totally oblivious to what exact commands were used. I was thinking that there is still some sort of bond between the color bar and its parent plot after their creation, e.g., for when the color map of the main plot is changed. -- Is that not the case? --Nico On Mon, Feb 15, 2010 at 6:16 PM, Jae-Joon Lee <lee...@gm...> wrote: > Is there any reason that you need to find out which axes is a color > bar axes from the list of axes? Can you just keep references to > colorbars you create? > > cbar = colorbar() > cax = cbar.ax > > cax is the axes instance of the colobar you just created. > > Regards, > > -JJ > > > On Mon, Feb 15, 2010 at 12:04 PM, Nico Schlömer > <nic...@gm...> wrote: >> Hi, >> >> when plotting a color bar with a plot in matplotlib, the color bar >> gets treated internally as Axes. >> >> With two main plots, each of which comes with a color bar, one structurally gets >> >> <class 'matplotlib.figure.Figure'> >> <class 'matplotlib.axes.Axes'> >> <class 'matplotlib.axes.Axes'> >> <class 'matplotlib.axes.Axes'> >> <class 'matplotlib.axes.Axes'> >> >> (that is, a Figure has for childres Axes). To find out which one of >> those is a color bar, I basically inspect their children an look for >> Arrays with shape (256,), which is what color bars look like. That's >> ugly of course, but it kind of works(tm). :) >> >> I'm having problems, though, with associating color bars with the >> specific plot. Can I rely on the rule that an Axes -- if it has a >> color bar --, is immediately followed by the corresponding (color bar) >> Axes environment? Are there any other properties I could check to >> identify color bars? (Tried get_label to no avail.) >> >> Cheers, >> Nico >> >> ------------------------------------------------------------------------------ >> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, >> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW >> http://p.sf.net/sfu/solaris-dev2dev >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >
Is there any reason that you need to find out which axes is a color bar axes from the list of axes? Can you just keep references to colorbars you create? cbar = colorbar() cax = cbar.ax cax is the axes instance of the colobar you just created. Regards, -JJ On Mon, Feb 15, 2010 at 12:04 PM, Nico Schlömer <nic...@gm...> wrote: > Hi, > > when plotting a color bar with a plot in matplotlib, the color bar > gets treated internally as Axes. > > With two main plots, each of which comes with a color bar, one structurally gets > > <class 'matplotlib.figure.Figure'> > <class 'matplotlib.axes.Axes'> > <class 'matplotlib.axes.Axes'> > <class 'matplotlib.axes.Axes'> > <class 'matplotlib.axes.Axes'> > > (that is, a Figure has for childres Axes). To find out which one of > those is a color bar, I basically inspect their children an look for > Arrays with shape (256,), which is what color bars look like. That's > ugly of course, but it kind of works(tm). :) > > I'm having problems, though, with associating color bars with the > specific plot. Can I rely on the rule that an Axes -- if it has a > color bar --, is immediately followed by the corresponding (color bar) > Axes environment? Are there any other properties I could check to > identify color bars? (Tried get_label to no avail.) > > Cheers, > Nico > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Thought I would post this as a simple GTKagg animation with patches (after John Hunter fixed it for me :-): import pygtk, gobject import matplotlib matplotlib.use('GTKAgg') import numpy as np import matplotlib.pyplot as plt import pylab from matplotlib.patches import CirclePolygon, Polygon fig = plt.figure(figsize=(10,6)) ax = fig.add_subplot(111, autoscale_on=False ) canvas = fig.canvas plt.axis([-1, 7, -0.5, 2.2]) def update_line(): global x, y print update_line.cnt_tot if update_line.background is None: update_line.background = canvas.copy_from_bbox(ax.bbox) canvas.restore_region(update_line.background) x_cir = 1.0 + 0.003*update_line.cnt if update_line.cir is None: cir = CirclePolygon((x_cir, 1), 0.3, animated=True, \ resolution=12, lw=2 ) ax.add_patch(cir) update_line.cir = cir else: update_line.cir._xy = x_cir, 1 update_line.cir._update_transform() ax.draw_artist(update_line.cir) canvas.blit(ax.bbox) if update_line.direction == 0: update_line.cnt += 1 update_line.cnt_tot += 1 if update_line.cnt > 500: update_line.direction = 1 else: update_line.cnt -= 1 update_line.cnt_tot += 1 if update_line.cnt < 100: update_line.direction = 0 return update_line.cnt<100000 update_line.cnt = 0 update_line.cnt_tot = 0 update_line.direction = 0 update_line.background = None update_line.cir = None def start_anim(event): gobject.idle_add(update_line) canvas.mpl_disconnect(start_anim.cid) start_anim.cid = canvas.mpl_connect('draw_event', start_anim) plt.show()
Hi John - Yes thanks again! This did it. Plus it is a valuable lesson - it never occurred to me to look at the base class to find more useful methods. To make this cleaner I will post the complete simple working example after this message. best, John -----Original Message----- From: John Hunter [mailto:jd...@gm...] Sent: Sunday, February 14, 2010 7:39 PM To: John Jameson Cc: mat...@li...; Michael Droettboom Subject: Re: [Matplotlib-users] memory leak for GTKAgg animation On Sat, Feb 13, 2010 at 2:53 PM, John Jameson <jja...@al...> wrote: > HI, > I find the very basic animation below has a memory leak (my pagefile usage > number keeps growing in the Windows XP Windows Task Manager Performance > graph).I don't see this with the "animation_blit_gtk.py" example on: > > http://matplotlib.sourceforge.net/examples/index.html > > (which I used as a starting point for this). In "animation_blit_gtk.py" the > set_ydata() routine is used to update the line for the animation and this > does not leak. But if you call plot again with the new y_data (instead of > using set_ydata), this leaks too. Anyone have an idea on how to stop the > leak? This isn't a memory leak. The problem is that you keep adding new patches to the axes when you want just one with different data. Eg, in your loop, run this code, and you will see that the number of patches is growing: x_cir = 1.0 + 0.003*update_line.cnt cir = CirclePolygon((x_cir, 1), 0.3, animated=True, \ resolution=12, lw=2 ) ax.add_patch(cir) ax.draw_artist(cir) print 'num patches=%d, mem usage=%d'%( len(ax.patches), cbook.report_memory(update_line.cnt)) canvas.blit(ax.bbox) You should add just one patch and then manipulate the data. In this case, you are using a CirclePolygon which derives from RegularPolygon and so you can update the "xy" property http://matplotlib.sourceforge.net/api/artist_api.html#matplotlib.patches.Reg ularPolygon But on testing this it looks like there is a bug in that the set_xy property setter is ignored. I worked around this in the func below by setting the private variable directly, but this looks like a bug we need to fix (Michael, shouldn't we respect the xy passed in in patches.RegularPolygon._set_xy ?). In the meantime, the following workaround should work for you w/o leaking.... def update_line(): global x, y print update_line.cnt if update_line.background is None: update_line.background = canvas.copy_from_bbox(ax.bbox) canvas.restore_region(update_line.background) x_cir = 1.0 + 0.003*update_line.cnt if update_line.cir is None: cir = CirclePolygon((x_cir, 1), 0.3, animated=True, \ resolution=12, lw=2 ) ax.add_patch(cir) update_line.cir = cir else: update_line.cir._xy = x_cir, 1 update_line.cir._update_transform() ax.draw_artist(update_line.cir) print 'num patches=%d, xy=%s, mem usage=%d'%( len(ax.patches), update_line.cir.xy, cbook.report_memory(update_line.cnt)) canvas.blit(ax.bbox) if update_line.direction == 0: update_line.cnt += 1 if update_line.cnt > 500: update_line.direction = 1 else: update_line.cnt -= 1 if update_line.cnt < 100: update_line.direction = 0 return update_line.cnt<100 update_line.cnt = 0 update_line.direction = 0 update_line.background = None update_line.cir = None
Try ax1.xaxis.offsetText.set_visible(False) where ax1 is the upper axes. Regards, -JJ On Mon, Feb 15, 2010 at 4:50 AM, Jan Strube <cur...@gm...> wrote: > Hi Jeff, > thanks for your quick reply. > Unfortunately, the line you sent me doesn't have any effect on the plot, > either before or after turning off the tick labels. > Do you have another suggestion? > Cheers, > Jan > On Sun, Feb 14, 2010 at 11:28 PM, Jeffrey Blackburne <je...@mi...> wrote: >> >> On Feb 14, 2010, at 5:41 PM, Jan Strube wrote: >> >>> Dear matplotters, >>> >>> I'm trying to follow >>> >>> http://matplotlib.sourceforge.net/examples/pylab_examples/ganged_plots.html >>> as an example how to turn of the ticks in the case of shared x axes. >>> The tick labels are gone, but unfortunately, matplotlib still plots a >>> '1e5' on the axis for which I have turned off the tick labels. >>> Please see the attached file for the problem >>> >>> How can I also switch of the exponent? >>> >>> Thanks, >>> Jan >> >> >> Try this: >> >> ax.xaxis.set_major_formatter(mpl.ticker.ScalarFormatter(useOffset=False)) >> >> where 'ax' is the name of the top subplot. >> >> Good luck, >> Jeff >> > > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
Hi, when plotting a color bar with a plot in matplotlib, the color bar gets treated internally as Axes. With two main plots, each of which comes with a color bar, one structurally gets <class 'matplotlib.figure.Figure'> <class 'matplotlib.axes.Axes'> <class 'matplotlib.axes.Axes'> <class 'matplotlib.axes.Axes'> <class 'matplotlib.axes.Axes'> (that is, a Figure has for childres Axes). To find out which one of those is a color bar, I basically inspect their children an look for Arrays with shape (256,), which is what color bars look like. That's ugly of course, but it kind of works(tm). :) I'm having problems, though, with associating color bars with the specific plot. Can I rely on the rule that an Axes -- if it has a color bar --, is immediately followed by the corresponding (color bar) Axes environment? Are there any other properties I could check to identify color bars? (Tried get_label to no avail.) Cheers, Nico
I have a script that calls several subroutines which each draw a figure (TkAgg backend). When I call show() at the end of the script all the figures pop up no problem, but when your producing 20+ figures its a bit overwhelming! It'd be great if I could have just one plot window with each figure as a tab in that window - is this possible from matplotlib? -- Cheers, Nick Schurch Data Analysis Group (The Barton Group), School of Life Sciences, University of Dundee, Dow St, Dundee, DD1 5EH, Scotland, UK Tel: +44 1382 388707 Fax: +44 1382 345 893
Can you send a minimal working example that shows the problem? On Feb 15, 2010, at 4:50 AM, Jan Strube wrote: > Hi Jeff, > > thanks for your quick reply. > Unfortunately, the line you sent me doesn't have any effect on the > plot, either before or after turning off the tick labels. > > Do you have another suggestion? > > Cheers, > Jan > > On Sun, Feb 14, 2010 at 11:28 PM, Jeffrey Blackburne > <je...@mi...> wrote: > > On Feb 14, 2010, at 5:41 PM, Jan Strube wrote: > > Dear matplotters, > > I'm trying to follow > http://matplotlib.sourceforge.net/examples/pylab_examples/ > ganged_plots.html > as an example how to turn of the ticks in the case of shared x axes. > The tick labels are gone, but unfortunately, matplotlib still plots > a '1e5' on the axis for which I have turned off the tick labels. > Please see the attached file for the problem > > How can I also switch of the exponent? > > Thanks, > Jan > > > Try this: > > ax.xaxis.set_major_formatter(mpl.ticker.ScalarFormatter > (useOffset=False)) > > where 'ax' is the name of the top subplot. > > Good luck, > Jeff > > > ---------------------------------------------------------------------- > -------- > SOLARIS 10 is the OS for Data Centers - provides features such as > DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris- > dev2dev_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
On 2010年02月14日 11:23 AM, Charles R Harris wrote: > Lines 147-151 of __init__ need to be changed to > > import numpy > nn = numpy.__version__.split('.') > if not (int(nn[0]) > 1 or int(nn[0]) == 1 and int(nn[1]) >= 1): > raise ImportError( > 'numpy 1.1 or later is required; you have %s' % numpy.__version__) It's been noted and fixed in SVN. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
Hi, Phillip. don't know why the mail would be returned. The address I see above is correct. sie...@sb.... The only thing I can think of is that yahoo mail wanted you to allow you to ask for permission. Beats me. Frankly, I've never really liked the reply format of mail lists. I use Thunderbird on Win. Sometimes I see messages in my inbox from someone and wonder are they trying for a private comm or just sending me a courtesy msg so that I should follow up on the list. Then there's Reply vs Reply All, and some filter problems. The latter can produce what I call the boomerang effect. Mail intended for me goes right into the list folder. There are goblins out there. :-) To me all this can be solved by one word, Forum. Not a mail list. Aside from the possible cost (to the Python Org?), comm is much clearer on them. Perhaps one disadvantage is that some people apparently have some bizarre form of e-mail that is not suitable for them. Otherwise, I have no idea why they are not more often used. html not allowed? The rules just vary too much to follow this. Same with bottom vs top posting in NGs. My view, and I'm not trying to be unfriendly here, is if one doesn't like what they see, ignore it, and don't respond. +NG. Expect the unexpected. The warriors and self appointed moderators hang out there. Some are just begging for a fight. +e-mail. If you aren't communicating with your friends, misunderstanding often prevail. +Forums: Almost bliss. I must belong to 30 of them. I must say that I am really puzzled by your comments about a footnote. I really don't use them much. I've probably posted thousands of msgs to NGs, forums, mail lists and I've never heard word one about footnotes. I use them as I see fit, and that's not very often. In fact, I like your use of the footnote below. I'm not even going to touch etiquette. I'd be really impressed if anyone follows them. I'll just say this. Internet communication by any of the methods above is sometimes just plain weird. It takes patience to use these methods. That includes personal e-mail. Someone should write a book about it. Preferably a shrink of psychologist. IMHO, the internet is generally meant for easy and informal communications, and not studied carefully written posts. That doesn't mean some care isn't needed. I see matters as a running dialogs. Both parties need to ask questions about clarity. Too much is often assumed.Maybe I'll write about it. Let's not hold our breaths. Hey, no footnotes used above. VBG Cheers. On 2/14/2010 1:39 PM, Philipp Bender wrote: > Hi Wayne, > > (I wanted to answer you directly but the mail came back, don't know why) > I have several points that > you really should work on if you expect anyone to answer to your mails in > future. First, you should check the destination of your messages. I got at > least three of your messages addressed only for me, you obviously wanted to > send them to the list but they only reached me. So I didn't answer because the > mailing list should be an open and searchable discussion platform and I didn't > want to forward your message to the list or something like that. Please check > that carefully in future. > > The next thing is that everyone must have the feeling that you completely > ignore replies. This link here should have been an alert for you: > > http://www.freebsd.org/doc/en/articles/mailing-list-faq/etiquette.html > > This was posted as reply to one of your mails. One thing explained there is to > not > cite the original mail after the own reply, instead you should cite the > original issue at the beginning or in parts directly before the parts of the > answer. See below: > > >>> How to do foo bar? >>> > Just like that. > > You see? The same thing about your footnotes*. > > Another thing is the HTML I received from your adress two times -- HTML has > neither benefit nor a good reputation in mailing lists. I delete HTML mails > without reading it in most cases. > > And, but that's maybe more a personal thing, I find it very unfriendly to ask > in the subject and write in the body something like "(see subject)" -- we take > the time to read your message, in respect to that you also should take the > time to ask a complete question. > > Please don't misunderstand this message -- I don't want to blame you, I want > to help you and make sure that you get answers to your questions in future. > > Regards, > Philipp > > * like this one here. They don't help you, they don't explain anything, they > don't help me reading the message, they have absolutely no benefit. > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- "Crime is way down. War is declining. And that's far from the good news." -- Steven Pinker (and other sources) Why is this true, but yet the media says otherwise? The media knows very well how to manipulate us (see limbic, emotion, $$). -- WTW
Jeff Whitaker wrote: > Philipp Lies wrote: >> On 02/12/2010 07:49 PM, Eric Firing wrote: >> >>> Philipp Lies wrote: >>> >>>> Hi, >>>> >>>> is there a backend that supports 16bit tiff images? >>>> > > The macosx backend supports tiff. Thanks, but I need a linux backend :-/ >>> Can you just use png, and use the netpbm utilities or ImageMagick >>> convert program to go to and from tiff? >>> >> Would be 'dirty' but acceptable if matplotlib would support saving >> uncompressed grayscale uint16 png files. But saving nxm uint16 arrays >> leads to nxmx3 float arrays which do not even closely resemble my >> original data. >> Example: >> A >> array([[47705, 11865, 739, 16941, 37700], >> [64321, 26860, 49945, 63556, 13498], >> [ 2676, 7720, 5995, 22399, 32735], >> [56577, 34443, 6636, 23409, 61331], >> [ 1020, 26013, 34677, 37262, 36136]], dtype=uint16) >> imsave('t.png',A) >> B = imread('t.png') >> B[:,:,0] >> >> array([[ 1., 0., 0., 0., 0.74117649], >> [ 0.49803922, 0.19607843, 1., 0.5529412 , 0. ], >> [ 0., 0., 0., 0., 0.48627451], >> [ 1., 0.57647061, 0., 0.01960784, 0.71372551], >> [ 0., 0.14509805, 0.58823532, 0.72941178, 0.66666669]], >> dtype=float32) >> >> >> >>>> According to the website GDK supports tiff but that's wrong: >>>> >>>> >>>>>>> import matplotlib >>>>>>> matplotlib.use('GDK') >>>>>>> import matplotlib.pyplot as pyplot >>>>>>> pyplot.imsave(arr=X, fname='test.tif') >>>>>>> >>>> Traceback (most recent call last): >>>> File "<stdin>", line 1, in <module> >>>> File "/usr/lib/pymodules/python2.6/matplotlib/pyplot.py", line 1425, >>>> in imsave >>>> return _imsave(*args, **kwargs) >>>> File "/usr/lib/pymodules/python2.6/matplotlib/image.py", line 813, in >>>> imsave >>>> fig.savefig(fname, dpi=1, format=format) >>>> File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 1033, >>>> in savefig >>>> self.canvas.print_figure(*args, **kwargs) >>>> File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line >>>> 1420, in print_figure >>>> '%s.' % (format, ', '.join(formats))) >>>> ValueError: Format "tif" is not supported. >>>> Supported formats: emf, eps, pdf, png, ps, raw, rgba, svg, svgz. >>>> >>>>>>> matplotlib.backends.backend >>>>>>> >>>> 'gdk' >>>> >>>> matplotlib 0.99.0 python 2.6.4 ubuntu karmic x64 >>>> >>>> If matplotlib cannot provide tiff support, does someone know an >>>> alternative? PIL doesn't work either, at least not intuitively.
Philipp Lies wrote: > On 02/12/2010 07:49 PM, Eric Firing wrote: > >> Philipp Lies wrote: >> >>> Hi, >>> >>> is there a backend that supports 16bit tiff images? >>> The macosx backend supports tiff. -Jeff >> Can you just use png, and use the netpbm utilities or ImageMagick >> convert program to go to and from tiff? >> > Would be 'dirty' but acceptable if matplotlib would support saving > uncompressed grayscale uint16 png files. But saving nxm uint16 arrays > leads to nxmx3 float arrays which do not even closely resemble my > original data. > Example: > A > array([[47705, 11865, 739, 16941, 37700], > [64321, 26860, 49945, 63556, 13498], > [ 2676, 7720, 5995, 22399, 32735], > [56577, 34443, 6636, 23409, 61331], > [ 1020, 26013, 34677, 37262, 36136]], dtype=uint16) > imsave('t.png',A) > B = imread('t.png') > B[:,:,0] > > array([[ 1., 0., 0., 0., 0.74117649], > [ 0.49803922, 0.19607843, 1., 0.5529412 , 0. ], > [ 0., 0., 0., 0., 0.48627451], > [ 1., 0.57647061, 0., 0.01960784, 0.71372551], > [ 0., 0.14509805, 0.58823532, 0.72941178, 0.66666669]], > dtype=float32) > > > >>> According to the website GDK supports tiff but that's wrong: >>> >>> >>>>>> import matplotlib >>>>>> matplotlib.use('GDK') >>>>>> import matplotlib.pyplot as pyplot >>>>>> pyplot.imsave(arr=X, fname='test.tif') >>>>>> >>> Traceback (most recent call last): >>> File "<stdin>", line 1, in <module> >>> File "/usr/lib/pymodules/python2.6/matplotlib/pyplot.py", line 1425, >>> in imsave >>> return _imsave(*args, **kwargs) >>> File "/usr/lib/pymodules/python2.6/matplotlib/image.py", line 813, in >>> imsave >>> fig.savefig(fname, dpi=1, format=format) >>> File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 1033, >>> in savefig >>> self.canvas.print_figure(*args, **kwargs) >>> File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line >>> 1420, in print_figure >>> '%s.' % (format, ', '.join(formats))) >>> ValueError: Format "tif" is not supported. >>> Supported formats: emf, eps, pdf, png, ps, raw, rgba, svg, svgz. >>> >>>>>> matplotlib.backends.backend >>>>>> >>> 'gdk' >>> >>> matplotlib 0.99.0 python 2.6.4 ubuntu karmic x64 >>> >>> If matplotlib cannot provide tiff support, does someone know an >>> alternative? PIL doesn't work either, at least not intuitively. >>> >>> Cheers >>> >>> Philipp >>> >>> > >
Does anyone know where I can find a compiled demo that uses MPL grphics? I'd like, if possible, a Win version whose size is less than 10M, so that I can send it via e-mail, if necessary. It should use plot, so that someone can manipulate the plot with the navigation controls. At this point, I have no idea if that method is the fundamental graph tool or not. I suspect it is. If a mailable demo isn't available, maybe there's a web site that one can download such examples from? -- "Crime is way down. War is declining. And that's far from the good news." -- Steven Pinker (and other sources) Why is this true, but yet the media says otherwise? The media knows very well how to manipulate us (see limbic, emotion, $$). -- WTW