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
(2) |
2
(3) |
3
|
4
(3) |
5
(11) |
6
(3) |
7
(2) |
8
(6) |
9
(6) |
10
(8) |
11
(3) |
12
(7) |
13
(8) |
14
(5) |
15
(11) |
16
(11) |
17
(3) |
18
(2) |
19
(7) |
20
(11) |
21
(6) |
22
(5) |
23
(1) |
24
|
25
|
26
(6) |
27
(3) |
28
(8) |
29
(2) |
30
(1) |
|
On 14 November 2012 21:05, Bror Jonsson <bro...@gm...> wrote: > Dear all, > > I'm trying to to show where one set of values have NaN's on the contour > plot of another set of values. I do this by creating a mask as such: > > fld = randn(4,4) > fld[:2,:2] = np.nan > mask[mask==0] = np.nan > contourf(arange(4),arange(4),fld) > contourf(arange(4),arange(4),mask) > > The problem is that the mask patch doesn't cover the empty space in the > fld contour. Is there any way to make this happen? > > My ultimate goal is something like this: > > fld2 = randn(4,4) > contourf(arange(4),arange(4),fld2) > contourf(arange(4),arange(4),mask,[1,1], extend='both', > colors='w', alpha=0.5) > > to present where fld has NaN's on the fld2 plot. > > > Many thanks in advance! > > Bror Jonsson > Hello Bror, It is not clear from your code snippets exactly what you are asking for. Please can you post a full runnable example? Ian Thomas
Thanks for reporting. It seems this file didn't make it over during the transition from Sourceforge to Github web hosting. It's been restored. Mike On 11/14/2012 04:45 PM, william ratcliff wrote: > Hi! I was looking through the sample doc tutorial: > http://matplotlib.org/sampledoc/ > > and found that the link to the hard copy of the documentation is > missing. Is there a more recent link? > > > Best, > William > > > ------------------------------------------------------------------------------ > Monitor your physical, virtual and cloud infrastructure from a single > web console. Get in-depth insight into apps, servers, databases, vmware, > SAP, cloud infrastructure, etc. Download 30-day Free Trial. > Pricing starts from 795ドル for 25 servers or applications! > http://p.sf.net/sfu/zoho_dev2dev_nov > > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Hi! I was looking through the sample doc tutorial: http://matplotlib.org/sampledoc/ and found that the link to the hard copy of the documentation is missing. Is there a more recent link? Best, William
Dear all, I'm trying to to show where one set of values have NaN's on the contour plot of another set of values. I do this by creating a mask as such: fld = randn(4,4) fld[:2,:2] = np.nan mask[mask==0] = np.nan contourf(arange(4),arange(4),fld) contourf(arange(4),arange(4),mask) The problem is that the mask patch doesn't cover the empty space in the fld contour. Is there any way to make this happen? My ultimate goal is something like this: fld2 = randn(4,4) contourf(arange(4),arange(4),fld2) contourf(arange(4),arange(4),mask,[1,1], extend='both', colors='w', alpha=0.5) to present where fld has NaN's on the fld2 plot. Many thanks in advance! Bror Jonsson "If you have a garden and a Library, You have everything you need." -Cicero ============================================================== Associate Research Scholar Princeton University Department of Geosciences 113 Guyot Hall Princeton, NJ 08544-1003 USA AIM, Skype, gTalk: brorfred Phone: +1-617-818-1096
Hello again > expecting the transparency to "stop" at the layer below the plot and > therefore see the. Sorry, I meant "therefore see the panel". -- Sylvain
Hello I would like some help to understand a problem with matplotlib and wxpython. I am developping a GUI where my plots are embedded on wxPanels on a wxNotebook (tabs). Under Windows, some themes don't use a single colour but a gradient as the tab background. Therefore, I'd like to make the background of my plots transparent. Under Windows XP (whatever the theme), when I set the facecolor of the plot to 'none', the plot background becomes transparent, but the parts of the panel and of the notebook below as well, and I end up seeing other windows behind my GUI or the Windows desktop. I was expecting the transparency to "stop" at the layer below the plot and therefore see the. I did a second experiment, where I overlayed two plots. The top one is larger than the one below. I make the top one partially transparent, to see the one below. The transparency is "stopped" in the area of the inferior plot, I see the desktop on the remaining parts, and where there is no plot the background of my panel. I'm attaching the code for the second experiment. I'm running XP 32bits with the Classic theme, python 2.7.3, matplotlib 1.2.0 and wxpython 2.9.4-msw. Thanks for your help -- Sylvain
Hi All, Hoping someone can help me get a definitive answer to this question. Is draw_if_interactive bad to have in library plotting code? Based on this thread [1], we've been working under the assumption that calling draw_if_interactive in plotting code is bad. Though I'm skeptical that this is the takeaway that we should have. I also asked this question on the IPython mailing list [2] since the recommendation comes from their type of usage, but I'm still not clear. I'll repeat the gist of the question here. We have plotting functions that are designed to update a given axes. I often work in interactive mode, and I'd like it if these functions updated my axes in the way that I expect (and an R user doing plotting in Python would expect). But now I'm forced to litter my user scripts with draw_if_interactive after I call a function I expect to update a plot - say updating a scatter plot with a regression line. Would be harmful to just include these draw_if_interactive calls in our plot functions. To be clear, I never have to call show or draw because I'm working in interactive mode, so the recommendation to just call show() at the end of a script is not what I want. My understanding of the pitfalls is 1) there's a performance hit to calling draw instead of just making one call. This is moot because we're only calling draw_if_interactive - so we assume the user is working interactively and actually wants to do the drawing and doesn't care about the performance hit. And 2) we are assuming that the user has imported and is using pyplot and there are possible side effects. A user wouldn't be using pyplot in a GUI or in some sort of embedded plotting framework. However, my intuition says that if this is the case, draw_if_interactive won't do anything because interactive will be False in these cases. Can someone please help clear this up? Thanks, Skipper [1] https://groups.google.com/forum/#!msg/pystatsmodels/biNlCvJPNNY/BT7bQJmOa1cJ [2] http://python.6.n6.nabble.com/IPython-User-using-matplotlib-draw-if-interactive-in-library-code-td4991275.html
On Tue, Nov 13, 2012 at 8:38 AM, David Brunell <qua...@gm...> wrote: > Hello, I have what I hope is a simple question. When producing a > figure/plot, I have a window which pops up with the figure inside and a few > tool buttons along the bottom, including "Zoom to rectangle." Clicking the > Zoom tool button, I'm presented with a black crosshair to select my zoom > rectangle. Many of the images I work with are predominantly black; is > there any way to change the color of the crosshair so as to make it more > visible? Thanks. Hi David, Unfortunately, those widgets are backend specific, so changing them is not trivial in general, since each toolkit has its own way of specifying the cursor. With that said, you can try to figure out if there's a way to do it for your backend `import matplotlib as mpl; mpl.get_backend()` will tell you which backend you're using, and then you'll need to look in the relevant source code for where the cursor is define. If you don't know where your matplotlib code lives, you can the path of the relevant files using this: import matplotlib.backends as b import os os.path.dirname(b.__file__) There, you'll find files for all of the backends, and the `cursord` dictionary in most of them is what specifies how the widgets look. I'm not sure which toolkits allow one to change the color of the default cursors, but some of them allow you to even specify your own color images, so it should be possible. An alternative, of course, would be to change the colormap you're plotting with, or add an alpha value to the images you're plotting so that the black widgets can be seen. Maybe it's inelegant, but looks like the path of least resistance... best, -- Paul Ivanov 314 address only used for lists, off-list direct email at: http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7
In article <CAJSg89LEe=HCx...@ma...>, Alexey Shamrin <sh...@gm...> wrote: > Thank you for 1.2.0 release! > > Could you please make it clear that matplotlib requires > python.org-Python sourceforge.net-NumPy? Telling about it during > installation would be great. This is described in three places: - The description of the file on the download page - The name of the file on the download page - The ReadMe file in the binary installer Note that the official binary installers for numpy and scipy are also for python.org python, and as far as I know they do no more than the matplotlib installer as far as informing the user of this fact. It is bdist_mpkg that makes these installers, and it could be better about checking compatibility. But that is a known issue. I don't know about messages about "system python", though that vaguely rings a bell as a bdist_mpkg issue. I'll add information about numpy to the ReadMe for future binary installers. Aside from that, I believe I've done everything I reasonably can to clarify the requirements for the binary installer. -- Russell
All, I am attempting to plot a base map with extents which are outside of the figure using the following code: #Map lon_min = -101.5 lon_max = -94.5 lat_min = -32.5 lat_max = -27.5 m = Basemap(projection='aeqd',llcrnrlat=lat_min,urcrnrlat=lat_max, llcrnrlon=lon_min,urcrnrlon=lon_max,lon_0=-97.7328, lat_0=-30.0906,resolution=None, rsphere=(1737400.0,1737400.0)) #Read the input image input_basemap = gdal.Open('Mare_Orientale_Volc_AzEqui.png') input_band = input_basemap.GetRasterBand(1) bmap = input_band.ReadAsArray() #The bounds of the input image using gdalinfo LL = (-204690.290, -162184.543) UR = (200909.710, 176915.457) I know that I need to use pcolormesh() to get my map visualized. I also believe that I need to use the transform_scalar function to get from pixel space to map projected space. My input image is not in Lat/Lon, but in pixel space. Any suggestions on getting my image to display in projected space? Best, Jay
Hello, I have what I hope is a simple question. When producing a figure/plot, I have a window which pops up with the figure inside and a few tool buttons along the bottom, including "Zoom to rectangle." Clicking the Zoom tool button, I'm presented with a black crosshair to select my zoom rectangle. Many of the images I work with are predominantly black; is there any way to change the color of the crosshair so as to make it more visible? Thanks.
2012年11月13日 Benjamin Root <ben...@ou...> > > > On Tue, Nov 13, 2012 at 6:16 AM, Francesco Montesano < > fra...@gm...> wrote: > >> Dear matplolibers, >> >> when dealing with multi-axes plot sometimes would be nice to use >> figure-wide x and y labels. >> On the web I've found some suggestion on how to do this, but I found >> no solution valid in the general case and that integrate in the >> matplotlib ecosystem. >> The ideal would be to have a "set_xlabel" and "set_ylabel" method in the >> Figure class, with the same api of the corresponding Axes methods. >> >> As a proof of concept I've written a class derived from Figure , which >> implements the two methods simply adding a horizontal (vertical) text below >> (left of) the lowest (leftmost) axes. >> The class together with a short example is attached. >> I'm aware that the current implementation is really poor (no integration >> with tight_layout, the padding must be adjusted by hand, a problem in >> particular for the y label). >> >> The best is to use "self.xaxis.set_label_text(xlabel, fontdict, >> **kwargs)" as in the Axis set_xlabel (as I gather this create a label that >> is rendered in the correct position accounting for ticklabels, ticks, >> tight_layout, etc). To do this one would have to create: >> >> - a figure-wide invisible axes that encloses all the other >> axes/subplots, and whose dimension has to be updated every time a new >> axis/subplot is added (this should be easily done) with only the label >> visible. This could also allow to use axis features, like twin axis. >> - just the required axis (invisible) that hosts the labels. I think >> that this approach is less demanding computationally, but I don't know how >> much sense have two axis not attached to axes. >> >> Any suggestions/hints on how to implement these methods in a better way >> is very welcome. >> >> If there is no opposition, later in the day I'll submit PR on github with >> the two new method and see if we can get something out of this idea. >> >> Cheers, >> Francesco >> >> > I am not exactly sure if this is the same as what you are thinking, but > the axes objects have a "label_outer()" method that would turn on and off > the visibility of various axis components based on their location in a > subplot grid. You call it for each axes in a subplot grid. > > Cheers! > Ben Root > > Hi Ben, sorry that I'm not being clear. My scope is to have the a unique x and y label as in "figure_label.png" instead a x and y label for each outer axes as in "axes_label.png". This could be done not writing axes labels and then using a simple text on the left and bottom, but I think that set_[xy]label method in class Figure (as the method legend) is much neater. Besides can improve readability of plots with lots of panels showing the same quantities. Is it clearer now? Francesco
On Tue, Nov 13, 2012 at 6:16 AM, Francesco Montesano < fra...@gm...> wrote: > Dear matplolibers, > > when dealing with multi-axes plot sometimes would be nice to use > figure-wide x and y labels. > On the web I've found some suggestion on how to do this, but I found > no solution valid in the general case and that integrate in the > matplotlib ecosystem. > The ideal would be to have a "set_xlabel" and "set_ylabel" method in the > Figure class, with the same api of the corresponding Axes methods. > > As a proof of concept I've written a class derived from Figure , which > implements the two methods simply adding a horizontal (vertical) text below > (left of) the lowest (leftmost) axes. > The class together with a short example is attached. > I'm aware that the current implementation is really poor (no integration > with tight_layout, the padding must be adjusted by hand, a problem in > particular for the y label). > > The best is to use "self.xaxis.set_label_text(xlabel, fontdict, **kwargs)" > as in the Axis set_xlabel (as I gather this create a label that is rendered > in the correct position accounting for ticklabels, ticks, tight_layout, > etc). To do this one would have to create: > > - a figure-wide invisible axes that encloses all the other > axes/subplots, and whose dimension has to be updated every time a new > axis/subplot is added (this should be easily done) with only the label > visible. This could also allow to use axis features, like twin axis. > - just the required axis (invisible) that hosts the labels. I think > that this approach is less demanding computationally, but I don't know how > much sense have two axis not attached to axes. > > Any suggestions/hints on how to implement these methods in a better way is > very welcome. > > If there is no opposition, later in the day I'll submit PR on github with > the two new method and see if we can get something out of this idea. > > Cheers, > Francesco > > I am not exactly sure if this is the same as what you are thinking, but the axes objects have a "label_outer()" method that would turn on and off the visibility of various axis components based on their location in a subplot grid. You call it for each axes in a subplot grid. Cheers! Ben Root
Dear matplolibers, when dealing with multi-axes plot sometimes would be nice to use figure-wide x and y labels. On the web I've found some suggestion on how to do this, but I found no solution valid in the general case and that integrate in the matplotlib ecosystem. The ideal would be to have a "set_xlabel" and "set_ylabel" method in the Figure class, with the same api of the corresponding Axes methods. As a proof of concept I've written a class derived from Figure , which implements the two methods simply adding a horizontal (vertical) text below (left of) the lowest (leftmost) axes. The class together with a short example is attached. I'm aware that the current implementation is really poor (no integration with tight_layout, the padding must be adjusted by hand, a problem in particular for the y label). The best is to use "self.xaxis.set_label_text(xlabel, fontdict, **kwargs)" as in the Axis set_xlabel (as I gather this create a label that is rendered in the correct position accounting for ticklabels, ticks, tight_layout, etc). To do this one would have to create: - a figure-wide invisible axes that encloses all the other axes/subplots, and whose dimension has to be updated every time a new axis/subplot is added (this should be easily done) with only the label visible. This could also allow to use axis features, like twin axis. - just the required axis (invisible) that hosts the labels. I think that this approach is less demanding computationally, but I don't know how much sense have two axis not attached to axes. Any suggestions/hints on how to implement these methods in a better way is very welcome. If there is no opposition, later in the day I'll submit PR on github with the two new method and see if we can get something out of this idea. Cheers, Francesco
I've just run into this problem myself. I think I've tracked down the offending code to lines 1910-1916 of /usr/lib/pymodules/pythn2.7/matplotlib/axes.py this is within the function definition for draw() ----- if self.axison and not inframe: if self._axisbelow: self.xaxis.set_zorder(0.5) self.yaxis.set_zorder(0.5 else: self.xaxis.set_zorder(2.5) self.yaxis.set_zorder(2.5) ----- In particular, the zorder of 2.5 is being set by lines 1915-1916 (the last of the lines copied above. Seems the source of the bug to me, but I have no idea what the procedure is for getting it logged and fixed. -Michael Woods
If you're using pyplot.specgram (i.e. "from pylab import *; specgram(...)"), note that the plot is in dB, hence the negative values. I'm surprised this fact isn't mentioned in the documentation: http://matplotlib.org/api/pyplot_api.html?highlight=specgram#matplotlib.pyplot.specgram However, when in doubt, look at the code. On Mon, Nov 12, 2012 at 12:28 PM, Paul Anton Letnes <pau...@gm...> wrote: > Heh, > > that's funny. Now then, why do my plots come out with negative values all over the place? That's why I started digging around. After all, X * conj(X) should be equal to the absolute square of X, right? > > Paul > > > On 12. nov. 2012, at 21:00, G Jones wrote: > >> Hi, >> If you trace back into the code further, you will see that the Pxx is >> computed as X = fft(x), Pxx = X * conj(X) which is real, but the data >> type will be complex with a ~0 imaginary part (up to floating point >> precision). Thus the Pxx.real is just to ensure that the resulting >> data type is real instead of complex to save memory. >> Glenn >> >> On Mon, Nov 12, 2012 at 11:42 AM, Paul Anton Letnes >> <pau...@gm...> wrote: >>> Hi, >>> >>> not 100% sure this is a bug, but here goes: >>> >>> In file matplotlib/lib/matplotlib/mlab.py, the functions psd (power spectral density) and specgram returns the real part of the fourier transform. >>> % grep -n Pxx.real mlab.py >>> 390: return Pxx.real,freqs >>> 470: Pxx = Pxx.real #Needed since helper implements generically >>> (git version 4f902fac1c5bf267e3fdeb4c2045926d7498e85a, cloned from github today) >>> >>> This all means that the specgram plot routine yields the real part of the Fourier transform, rather than its absolute square (forgetting normalization for simplicity of discussion). The definition of the PSD is that it is the absolute square of the Fourier transform: >>> https://en.wikipedia.org/wiki/Power_spectral_density#Energy_spectral_density >>> >>> Hence, I believe this is a bug which should be fixed. >>> >>> Cheers >>> Paul >>> ------------------------------------------------------------------------------ >>> Monitor your physical, virtual and cloud infrastructure from a single >>> web console. Get in-depth insight into apps, servers, databases, vmware, >>> SAP, cloud infrastructure, etc. Download 30-day Free Trial. >>> Pricing starts from 795ドル for 25 servers or applications! >>> http://p.sf.net/sfu/zoho_dev2dev_nov >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi, If you trace back into the code further, you will see that the Pxx is computed as X = fft(x), Pxx = X * conj(X) which is real, but the data type will be complex with a ~0 imaginary part (up to floating point precision). Thus the Pxx.real is just to ensure that the resulting data type is real instead of complex to save memory. Glenn On Mon, Nov 12, 2012 at 11:42 AM, Paul Anton Letnes <pau...@gm...> wrote: > Hi, > > not 100% sure this is a bug, but here goes: > > In file matplotlib/lib/matplotlib/mlab.py, the functions psd (power spectral density) and specgram returns the real part of the fourier transform. > % grep -n Pxx.real mlab.py > 390: return Pxx.real,freqs > 470: Pxx = Pxx.real #Needed since helper implements generically > (git version 4f902fac1c5bf267e3fdeb4c2045926d7498e85a, cloned from github today) > > This all means that the specgram plot routine yields the real part of the Fourier transform, rather than its absolute square (forgetting normalization for simplicity of discussion). The definition of the PSD is that it is the absolute square of the Fourier transform: > https://en.wikipedia.org/wiki/Power_spectral_density#Energy_spectral_density > > Hence, I believe this is a bug which should be fixed. > > Cheers > Paul > ------------------------------------------------------------------------------ > Monitor your physical, virtual and cloud infrastructure from a single > web console. Get in-depth insight into apps, servers, databases, vmware, > SAP, cloud infrastructure, etc. Download 30-day Free Trial. > Pricing starts from 795ドル for 25 servers or applications! > http://p.sf.net/sfu/zoho_dev2dev_nov > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Hi, not 100% sure this is a bug, but here goes: In file matplotlib/lib/matplotlib/mlab.py, the functions psd (power spectral density) and specgram returns the real part of the fourier transform. % grep -n Pxx.real mlab.py 390: return Pxx.real,freqs 470: Pxx = Pxx.real #Needed since helper implements generically (git version 4f902fac1c5bf267e3fdeb4c2045926d7498e85a, cloned from github today) This all means that the specgram plot routine yields the real part of the Fourier transform, rather than its absolute square (forgetting normalization for simplicity of discussion). The definition of the PSD is that it is the absolute square of the Fourier transform: https://en.wikipedia.org/wiki/Power_spectral_density#Energy_spectral_density Hence, I believe this is a bug which should be fixed. Cheers Paul
On 29 October 2012 14:50, Daryl Herzmann <ak...@gm...> wrote: > I've been attempting to get basemap to clip a contourf display. I have not > had any luck! Attached is a self contained example. Could somebody kindly > point out what I am doing wrong!?! > Hi Daryl, You were almost there. Remove the call to mask_outside_polygon and replace it with for collection in cs.collections: collection.set_clip_path(patch) Attached is your corrected example and the output produced. Ian
On Mon, Nov 12, 2012 at 11:43 AM, Nils Wagner <ni...@go...>wrote: > Hi all, > > how can I hide ticks and/or labels in the presence of sharex=ax. Only > the last subplot 313 should have ticks and labels. > > import matplotlib.pyplot as plt > fig=plt.figure(0,figsize=(16,24)) > > ax = fig.add_subplot(311) > ax.set_xticks([]) > ax.set_xticklabels('') > > ax1 = fig.add_subplot(312,sharex=ax) > ax1.set_xticks([]) > ax1.set_xticklabels('') > > ax2 = fig.add_subplot(313,sharex=ax) > ax2.set_xticks(ind+width) > ax2.set_xticklabels( contname,rotation='90',fontsize=8) > > Nils > > ax.label_outer() will set the appropriate visibility settings for the particular subaxes depending on where it is in the grid. Just call it for each subplot being shared and you are good to go. Cheers! Ben Root
Hi all, how can I hide ticks and/or labels in the presence of sharex=ax. Only the last subplot 313 should have ticks and labels. import matplotlib.pyplot as plt fig=plt.figure(0,figsize=(16,24)) ax = fig.add_subplot(311) ax.set_xticks([]) ax.set_xticklabels('') ax1 = fig.add_subplot(312,sharex=ax) ax1.set_xticks([]) ax1.set_xticklabels('') ax2 = fig.add_subplot(313,sharex=ax) ax2.set_xticks(ind+width) ax2.set_xticklabels( contname,rotation='90',fontsize=8) Nils
On Sun, Nov 11, 2012 at 1:42 PM, Andrew Dawson <da...@at...> wrote: > Hi > > I'm trying to plot the trajectory of a particle in 3d using mplot3d. I > tried to follow the example of an animated 3d plot on the matplotlib > website but I'm having trouble with the updating of the data point being > plotted at each frame. Does anyone know how to do this? > > So far I have: > > import numpy as np > import matplotlib.pyplot as plt > from mpl_toolkits.mplot3d.axes3d import Axes3D > from matplotlib.animation import FuncAnimation > > > def update_plot(num, data, sc): > sc.set_array(data[num]) > return sc > > > def main(): > numframes = 2 > data = np.random.rand(10, 3)# a (time, position) array > > fig = plt.figure() > ax = fig.add_subplot(111, projection='3d') > > ix, iy, iz = data[0] > sc = ax.scatter(ix, iy, iz, c='k') > > ani = FuncAnimation(fig, update_plot, frames=numframes, > fargs=(data,sc)) > plt.show() > > > if __name__ == '__main__': > main() > > > This just changes the color of the initial marker. I also tried to use > sc.set_3d_properties but it is not clear to me what the arguments should be > here, I kept getting an error... If anyone has done this before I'd love to > see an example. > > Thanks, > Andrew > > Andrew, For scatter objects (which are PatchCollection), the get/set_data() refers to the scalar mappable part of things, which is why the color kept changing. It does not seem to be an easy way to adjust the position data for a Patch3DCollection (or a Line3DCollection for that matter...). I would suggest filing a feature request about that on github. In coming up with an example for your use-case, I have come across a couple of minor bugs in mplot3d that I am going to need to resolve as well. In the meantime, I think the following version of the code: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D from matplotlib.animation import FuncAnimation def update_plot(num, data, sc): print sc._offsets3d sc._offsets3d = data[num] return sc def main(): numframes = 10 data = np.random.rand(numframes, 3, 1)# a (time, position) array fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ix, iy, iz = data[0] sc = ax.scatter(ix, iy, iz, c='k') ani = FuncAnimation(fig, update_plot, frames=numframes, fargs=(data,sc)) plt.show() if __name__ == '__main__': main() Essentially, there is no nice way to set the 3d position data, and the easiest way is to just go to the internal _offsets3d variable. Second, there seems to be an issue with array/scalar data in Patch3DCollection that I had to make the random number generation be 3D, rather than 2D as you originally had it. Cheers! Ben Root
Hi I'm trying to plot the trajectory of a particle in 3d using mplot3d. I tried to follow the example of an animated 3d plot on the matplotlib website but I'm having trouble with the updating of the data point being plotted at each frame. Does anyone know how to do this? So far I have: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D from matplotlib.animation import FuncAnimation def update_plot(num, data, sc): sc.set_array(data[num]) return sc def main(): numframes = 2 data = np.random.rand(10, 3)# a (time, position) array fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ix, iy, iz = data[0] sc = ax.scatter(ix, iy, iz, c='k') ani = FuncAnimation(fig, update_plot, frames=numframes, fargs=(data,sc)) plt.show() if __name__ == '__main__': main() This just changes the color of the initial marker. I also tried to use sc.set_3d_properties but it is not clear to me what the arguments should be here, I kept getting an error... If anyone has done this before I'd love to see an example. Thanks, Andrew
Hello all, It turns out the command-(APPLE) -TAB does work to change the focus from page to page but only if the mouse is centered on top of the actual tab area . In windows mouse focus anywhere on the figure allows CTRL-TAB page flipping. But in OSX it only works when focussed on the acutal tab rectangle. I checked what this was the behavior with the official wxpython wxAUINotebook demo application as well. Thanks Hari On Sun, Oct 21, 2012 at 7:25 AM, hari jayaram <ha...@gm...> wrote: > Hi I am using > wxpython : 2.9.4.0 > matplotlib : 1.3 > osx Lion > > In my application I have a number of matplotlib figure objects, one on > each page of the wx.aui.AuiNotebook .The pages are each a figure and > arranged as tabs on the top of the wxpython frame like embedding in wx5 > example from the matplotlib gallery. > > On Windows I can navigate from page to page of the Notebook using > CTRL-TAB and CTRL-SHIFT-TAB. > > However on OSX -Lion , neither the CTRL-TAB, nor Alt/Tab navigate from > page to page. > > Instead what happens is that the "mouse selection" moves from icon to icon > i.e from the "Home" to the "Pan-zoom " icon on the bottom of the matplotlib > figure. The wxAuiNotebook is oblvious of these mouse events. > > Does anyone know how to restore the windows os behavior where CTRL-TAB > changes the page of the Notebook on OSX. How do I prevent the matplotlib > figure object from intercepting these events. > > Thanks > Hari > > > > > >