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
|
|
From: William R. W. <wr...@ma...> - 2013-07-02 01:38:18
|
On Jul 1, 2013, at 1:42 PM, psb1967 <ps...@ho...> wrote: > Hi Ben, > > > Benjamin Root-2 wrote >> On Sun, Jun 23, 2013 at 6:29 AM, psb1967 < > >> psb67@ > >> > wrote: >> >> >>> >> Since nobody has replied, I would suggest asking your question on the >> scipy >> users list, which is more geared towards implementation of various >> algorithms. The matplotlib mailing list mostly deals with plotting >> questions. When you need help with plotting your results, let us know! >> >> Cheers! >> Ben Root > > May be it was my mistake posting a wrong request, without properly > understanding the nature of this elite site, nevertheless, I am grateful for > your taking time to reply and guide me in the proper direction. > > I will give it a try with scipy user list. > > Regards > > Suresh > > Suresh, I think the most likely reason no one has answered is that the intersection of the set of matplotlib experts and the set of people who know what Bollinger bands are is too close to zero. I'm a beginner at matplotlib, but I do know what Bollinger bands are, and I'd suggest your best approach is to take a look at the matplotlib demo gallery here: http://matplotlib.org/examples in particular, study the code for the fifth example from the top here: http://matplotlib.org/examples/pylab_examples/plotfile_demo.html which implements a plot of Open, High. Low, and Closing prices. I'm assuming you know enough math to implement a Bollinger band version of a moving average, and can just substitute it for the code that plots the extra lines on the example. Good luck, Bill |
|
From: psb1967 <ps...@ho...> - 2013-07-01 17:42:54
|
Hi Ben, Benjamin Root-2 wrote > On Sun, Jun 23, 2013 at 6:29 AM, psb1967 < > psb67@ > > wrote: > > >> > Since nobody has replied, I would suggest asking your question on the > scipy > users list, which is more geared towards implementation of various > algorithms. The matplotlib mailing list mostly deals with plotting > questions. When you need help with plotting your results, let us know! > > Cheers! > Ben Root May be it was my mistake posting a wrong request, without properly understanding the nature of this elite site, nevertheless, I am grateful for your taking time to reply and guide me in the proper direction. I will give it a try with scipy user list. Regards Suresh -- View this message in context: http://matplotlib.1069221.n5.nabble.com/To-add-Bollinger-Bands-in-finance-work2-py-tp41310p41355.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Benjamin R. <ben...@ou...> - 2013-07-01 17:28:53
|
On Sun, Jun 23, 2013 at 6:29 AM, psb1967 <ps...@ho...> wrote: > Hi, > > I am new to programming and this is my first major work. > > I wish to add Bollinger Bands and Hull Moving Average(HMA) in > finance_work2.py. Need your guidance. > > Installation details: > > Windows 7 > Python 3.3.2 > Matplotlib 1.2.1 > Numpy 1.7.1 > Ta-Lib > > As it is I don't have any issues running the script however, adding BB and > HMA will complete my task. > > Thanks in advance. > > > Since nobody has replied, I would suggest asking your question on the scipy users list, which is more geared towards implementation of various algorithms. The matplotlib mailing list mostly deals with plotting questions. When you need help with plotting your results, let us know! Cheers! Ben Root |
|
From: Michael D. <md...@st...> - 2013-07-01 16:41:43
|
SciPy 2013 was a great success. I didn't get good headcount at the matplotlib BOF, but it was a good number, and we had 15 participants at various points during the sprints. It was nice to see the diversity of experience with matplotlib at the sprints, and I hope we oldtimers were helpful to the newtimers getting started so they can continue to contribute in the future. It was also great to put some faces to many of the talented names I've been seeing on github and the mailing list lately. I've summarized the matplotlib BOF as well as the sprint. I've also gone ahead and created MEP placeholders and issues for the major themes discussed. https://github.com/matplotlib/matplotlib/wiki/Scipy-2013-BOF-Notes https://github.com/matplotlib/matplotlib/wiki/Scipy-2013-sprinting-notes Both of these documents are based on the realtime etherpad notes we made during the sessions, and on some of my own recollection, which is known to be incomplete or incorrect on occasion. If I missed something, or you feel something isn't expressed in the right light, feel free to edit the wiki, but we should keep further discussion on the mailing list, github issues or other channels. It would also be great to have volunteers to help write a MEP or two based on the BOF discussion. Thanks again. It was really nice to meet all of you! Mike |
|
From: zetah <ot...@hu...> - 2013-07-01 12:40:34
|
Hi,
I have set of points in a plane and make triplot:
subplot(121)
plot(points[:,0], points[:,1], 'o')
title('Set of points')
subplot(122)
triplot(points[:,0], points[:,1])
title('Triangulation')
result: http://i.imgur.com/1LG4fxC.png
Does anyone know how to extract just the lines describing each circumscribed circle in this example?
Perhaps by using Delaunay from scipy.spatial?
Just to inform you, I want to do this through triangulation and above example is trivial that can be solved differently, while real problem doesn't contain circles...
Thanks
|
|
From: mdekauwe <mde...@gm...> - 2013-06-30 01:36:34
|
Yes and no. My understanding of stacked bars is the bar stacked on top is always larger than the one below. I am trying to show how much the second bar explains of the first bar. In my case though it is possible the second bar is larger than the first. As a consequence you wouldn't see both bars and this is why I want to draw a line to show where the other bar extends to.the -- View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333p41341.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: klo uo <kl...@gm...> - 2013-06-29 22:43:01
|
Thanks Paul, that solved the problem.
matplotlib.rcParams['axes.linewidth'] = 0.5
matplotlib.rcParams['patch.linewidth'] = 0.5
is what I wanted and I'll put that in matplotlibrc.
Previously I thought that this is related to some anti-aliasing
setting that would affect all lines drawn. But as it is possible to
set this preference to custom plot elements, this is what I would
always prefer. Default setting looks too blurry for horizontal and
vertical lines.
Cheers
On Sat, Jun 29, 2013 at 11:49 PM, Paul Hobson <pmh...@gm...> wrote:
> You need to thin out the default line widths in your matplotlibrc file.
>
> Something like:
> import matplotlib
> matplotlib.rcParams['axes.linewidth'] = 0.5
> matplotlib.rcParams['lines.linewidth'] = 0.5
>
> ...if you don't want to edit your matplotlibrc file.
>
> Hope that helps,
> -paul
|
|
From: Paul H. <pmh...@gm...> - 2013-06-29 21:49:37
|
You need to thin out the default line widths in your matplotlibrc file. Something like: import matplotlib matplotlib.rcParams['axes.linewidth'] = 0.5 matplotlib.rcParams['lines.linewidth'] = 0.5 ...if you don't want to edit your matplotlibrc file. Hope that helps, -paul On Sat, Jun 29, 2013 at 10:48 AM, klo uo <kl...@gm...> wrote: > This code: > > ======================================== > import matplotlib.pyplot as plt > > plt.plot([1,2,5,3,4], label='line') > plt.legend() > plt.show() > ======================================== > > shows this image: http://i.imgur.com/KMPywSp.png > > I want axis and legend box with 1px line, like this: > http://i.imgur.com/Qmb4e6C.png but can't find any pointers except > turning anti-aliasing off for all plot lines, which is not what I > want. > > Is this anyhow possible? > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Benjamin R. <ben...@ou...> - 2013-06-29 21:17:08
|
This kind of sounds like stack plots, but I am not quite sure. Cheers! Ben Root On Jun 29, 2013 1:45 AM, "mdekauwe" <mde...@gm...> wrote: > Hi, > > I am plotting overlapping bars in a bar chart. In some places one bar > overlaps the other so I would like to draw a horizontal line to show where > the underlying bar extends to. My plots are postscripts so I can't use > alpha. The only way I could come up with involves me figuring out by trial > and error where each bar starts, for example: > > bar_width = 0.068 > xmin_line = 0.198 > xmax_line = xmin_line+bar_width > plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2, > color="b") > > Is there a way I can work out where each bar starts and how wide it is? I > tried ax.get_xticks, but these don't match with the above function which > only seems to be a fraction of 0 - 1. > > thanks, > > Martin > > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: klo uo <kl...@gm...> - 2013-06-29 17:49:06
|
This code: ======================================== import matplotlib.pyplot as plt plt.plot([1,2,5,3,4], label='line') plt.legend() plt.show() ======================================== shows this image: http://i.imgur.com/KMPywSp.png I want axis and legend box with 1px line, like this: http://i.imgur.com/Qmb4e6C.png but can't find any pointers except turning anti-aliasing off for all plot lines, which is not what I want. Is this anyhow possible? |
|
From: mdekauwe <mde...@gm...> - 2013-06-29 06:44:06
|
Hi,
I am plotting overlapping bars in a bar chart. In some places one bar
overlaps the other so I would like to draw a horizontal line to show where
the underlying bar extends to. My plots are postscripts so I can't use
alpha. The only way I could come up with involves me figuring out by trial
and error where each bar starts, for example:
bar_width = 0.068
xmin_line = 0.198
xmax_line = xmin_line+bar_width
plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2,
color="b")
Is there a way I can work out where each bar starts and how wide it is? I
tried ax.get_xticks, but these don't match with the above function which
only seems to be a fraction of 0 - 1.
thanks,
Martin
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
|
|
From: Michael D. <md...@st...> - 2013-06-28 17:07:51
|
For those not in Austin who are interested in following along with the matplotlib sprint at Scipy, feel free to visit here: https://etherpad.mozilla.org/MatplotlibSprint Mike |
|
From: Sudheer J. <sud...@ya...> - 2013-06-28 03:53:34
|
Dear experts, I have been making some scripts to do some routine plotting of model results with ipython qtconsole --colors=linux --pylab=inline mode for fine tuning and then used the same script for running from command line ipython alt_hyc_trak.py, the results in plot gets messed up It appears the setting I did by using below commands are different for inline mode and ipython. plt.subplots_adjust(hspace = -.15,wspace=.1) Is there a way to set the properties of plot acceptable for both. I am attaching both figures here. https://www.dropbox.com/s/heeadhkf9u2czns/ipython_cmdline.png https://www.dropbox.com/s/5hsm6yver152h11/inline_mode.png with best regards, Sudheer *************************************************************** Sudheer Joseph Indian National Centre for Ocean Information Services Ministry of Earth Sciences, Govt. of India POST BOX NO: 21, IDA Jeedeemetla P.O. Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O), Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile) E-mail:sjo...@gm...;sud...@ya... Web- http://oppamthadathil.tripod.com *************************************************************** |
|
From: Ryan N. <rne...@gm...> - 2013-06-27 19:14:50
|
Neal, I like to use partially transparent rectangles, such as axhspan and axvspan. Some people are not so great with colors, so I try to minimize line color changes. If you were going to change line colors, I would do something to the line style to highlight the difference as well. Below is a little test. Ryan ### Code ### import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2*np.pi, 1000) y = np.sin(x) plt.plot(x, y, 'k-', lw=0.5) plt.axvspan(0.2, 0.4, color='k', alpha=0.2) mask = (x > 2.5) & (x < 3.0) plt.plot(x[mask], y[mask], 'r-', lw=2.5) plt.show() ########### On 6/27/2013 9:50 AM, Neal Becker wrote: > I have a line plot and I'd like to highlight certain segments of it. I think > maybe drawing some segments in a different color might be a good visual clue. > Any suggestion how to approach this? > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Neal B. <ndb...@gm...> - 2013-06-27 13:50:24
|
I have a line plot and I'd like to highlight certain segments of it. I think maybe drawing some segments in a different color might be a good visual clue. Any suggestion how to approach this? |
|
From: Benjamin R. <ben...@ou...> - 2013-06-26 13:34:17
|
I have done something slightly different that works more generally. I am trying to recall it from memory, so some details may be wrong. Essentially, do the interpolation you want on a filled version of the masked array (filling with a value that makes sense for your data). Then, do the same interpolation on the mask, and cast the mask back as booleans. Finally, build the output masked array by combining the two together with one of the constructors. Cheers! Ben Root On Jun 26, 2013 7:22 AM, "Jeff Whitaker" <jef...@no...> wrote: > Goodman, Alexander (398J-Affiliate) <ale...@jp...> > June 24, 2013 6:27 PM > Hi Jeff, > > Thanks for the quick reply. However I am a little lost with your suggested > solution. The issue here is that if datain is a masked array, dataout will > not be a masked array when order=3 is used unless masked=True is set, but > this just results in none of the elements (besides those outside the domain > of xin and yin) being masked. So are you saying to try setting the mask to > what it would be after running interp() with order=0? I would appreciate a > more concrete example. > > Thanks, > Alex > > > Alex: After pondering this a bit more, I don't think you can use order=3 > with masked arrays. Any reason why you can't using a combo of bilinear and > nearest neighbor as I described in my previous email? > > -Jeff > > > > > Goodman, Alexander (398J-Affiliate) <ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since map_coordinates() > cannot handle mask arrays, I thought that perhaps passing in the actual > mask itself to interp() with order=3 may produce close to reasonable > results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------ > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Jeff W. <jef...@no...> - 2013-06-26 12:20:05
|
> Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 6:27 PM > Hi Jeff, > > Thanks for the quick reply. However I am a little lost with your > suggested solution. The issue here is that if datain is a masked > array, dataout will not be a masked array when order=3 is used unless > masked=True is set, but this just results in none of the elements > (besides those outside the domain of xin and yin) being masked. So are > you saying to try setting the mask to what it would be after running > interp() with order=0? I would appreciate a more concrete example. > > Thanks, > Alex Alex: After pondering this a bit more, I don't think you can use order=3 with masked arrays. Any reason why you can't using a combo of bilinear and nearest neighbor as I described in my previous email? -Jeff > > > > Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since > map_coordinates() cannot handle mask arrays, I thought that perhaps > passing in the actual mask itself to interp() with order=3 may produce > close to reasonable results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------------------------------------------------ |
|
From: Michiel de H. <mjl...@ya...> - 2013-06-25 14:11:27
|
Hi Thomas, As explained in this issue: https://github.com/matplotlib/matplotlib/issues/166 draw_artist does not work because it is being called from outside the event loop (or, to be exact, because draw_artist will only work if it is called from inside the drawing callback function that is called by the event loop). On some backends, you may get away with calling draw_artist from outside the event loop. However, this suggests a problem in the code design (for comparison, see this issue https://github.com/matplotlib/matplotlib/issues/531 on the animation code). As far as I know, the matplotlib documentation does not advertise the use of draw_artist, and there is no guarantee that it will work on all backends. If you can redesign your code such that draw_artist is called from inside the event loop, it should work OK on all backends. (though my first bet would also be to look at draw_idle). Best, -Michiel. ________________________________ From: Thomas Robitaille <tho...@gm...> To: Michael Droettboom <md...@st...> Cc: mat...@li... Sent: Tuesday, June 25, 2013 9:45 PM Subject: Re: [Matplotlib-users] Making an interactive plot faster Hi Mike, Thanks for the suggestion - however, this doesn't change the FPS. From my experiments so far, it seems using draw_artist would be the best bet, but any ideas why it doesn't work with the MacOS X backend? https://github.com/matplotlib/matplotlib/issues/166 Cheers, Tom On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote: > Have you tried using "draw_idle"? That will schedule the draw for the > next time the event loop is idle. > > Mike > > On 06/24/2013 07:39 AM, Thomas Robitaille wrote: >> Hi everyone, >> >> The following shows an example of a simple data viewer which includes >> a slider, a bitmap, and a scatter plot: >> >> """ >> import numpy as np >> from matplotlib import pyplot as plt >> from matplotlib.widgets import Slider >> >> fig = plt.figure() >> >> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) >> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) >> >> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) >> ax2.set_xticklabels("") >> ax2.set_yticklabels("") >> slider = Slider(ax2, "", 0., 1.) >> >> def update_vmax(value): >> image.set_clim(0., value) >> fig.canvas.draw() >> >> slider.on_changed(update_vmax) >> >> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) >> x = np.random.random(10000) >> y = np.random.random(10000) >> ax3.scatter(x, y) >> >> plt.show() >> """ >> >> When moving the slider, the vmax of the image changes, but I get very >> slow frame rates (~2/sec) on my computer with the MacOS X backend. I >> was wondering whether people here have any tips on speeding things up? >> >> As far as I can figure out, this is slow because both the slider and >> the callback function call ``fig.canvas.draw``. Slider calls it before >> the callback function, so I definitely need to draw things in that >> function, but I can get a factor of 2x speedup by doing >> >> slider.drawon = False >> >> which prevents ``canvas.draw()`` being called twice. However, this is >> still much too slow, so I started to look into using ``draw_artist`` >> to only update elements that need updating, but this requires >> partially re-implementing the Slider class. >> >> As a side note, using ``draw_artist`` also does not work on the MacOS X backend: >> >> https://github.com/matplotlib/matplotlib/issues/166 >> >> but I'm willing to have a solution that wouldn't work on this backend >> if it was the only way. >> >> Does anyone have a clean solution to increasing the frame rate of this example? >> >> Thanks! >> Tom >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Thomas R. <tho...@gm...> - 2013-06-25 12:46:09
|
Hi Mike, Thanks for the suggestion - however, this doesn't change the FPS. From my experiments so far, it seems using draw_artist would be the best bet, but any ideas why it doesn't work with the MacOS X backend? https://github.com/matplotlib/matplotlib/issues/166 Cheers, Tom On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote: > Have you tried using "draw_idle"? That will schedule the draw for the > next time the event loop is idle. > > Mike > > On 06/24/2013 07:39 AM, Thomas Robitaille wrote: >> Hi everyone, >> >> The following shows an example of a simple data viewer which includes >> a slider, a bitmap, and a scatter plot: >> >> """ >> import numpy as np >> from matplotlib import pyplot as plt >> from matplotlib.widgets import Slider >> >> fig = plt.figure() >> >> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) >> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) >> >> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) >> ax2.set_xticklabels("") >> ax2.set_yticklabels("") >> slider = Slider(ax2, "", 0., 1.) >> >> def update_vmax(value): >> image.set_clim(0., value) >> fig.canvas.draw() >> >> slider.on_changed(update_vmax) >> >> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) >> x = np.random.random(10000) >> y = np.random.random(10000) >> ax3.scatter(x, y) >> >> plt.show() >> """ >> >> When moving the slider, the vmax of the image changes, but I get very >> slow frame rates (~2/sec) on my computer with the MacOS X backend. I >> was wondering whether people here have any tips on speeding things up? >> >> As far as I can figure out, this is slow because both the slider and >> the callback function call ``fig.canvas.draw``. Slider calls it before >> the callback function, so I definitely need to draw things in that >> function, but I can get a factor of 2x speedup by doing >> >> slider.drawon = False >> >> which prevents ``canvas.draw()`` being called twice. However, this is >> still much too slow, so I started to look into using ``draw_artist`` >> to only update elements that need updating, but this requires >> partially re-implementing the Slider class. >> >> As a side note, using ``draw_artist`` also does not work on the MacOS X backend: >> >> https://github.com/matplotlib/matplotlib/issues/166 >> >> but I'm willing to have a solution that wouldn't work on this backend >> if it was the only way. >> >> Does anyone have a clean solution to increasing the frame rate of this example? >> >> Thanks! >> Tom >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Jeff W. <jef...@no...> - 2013-06-25 00:09:42
|
> Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since > map_coordinates() cannot handle mask arrays, I thought that perhaps > passing in the actual mask itself to interp() with order=3 may produce > close to reasonable results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------------------------------------------------ Alex: The basemap.interp docstring includes a note describing a trick I often use with masked arrays: Note If datain is a masked array and order=1 (bilinear interpolation) is used, elements of dataout will be masked if any of the four surrounding points in datain are masked. To avoid this, do the interpolation in two passes, first with order=1 (producing dataout1), then with order=0 (producing dataout2). Then replace all the masked values in dataout1 with the corresponding elements in dataout2 (using numpy.where). This effectively uses nearest neighbor interpolation if any of the four surrounding points in datain are masked, and bilinear interpolation otherwise. I suppose the same trick might work with order=3, but I have never tried it. -Jeff |
|
From: Michael D. <md...@st...> - 2013-06-24 14:15:40
|
Have you tried using "draw_idle"? That will schedule the draw for the
next time the event loop is idle.
Mike
On 06/24/2013 07:39 AM, Thomas Robitaille wrote:
> Hi everyone,
>
> The following shows an example of a simple data viewer which includes
> a slider, a bitmap, and a scatter plot:
>
> """
> import numpy as np
> from matplotlib import pyplot as plt
> from matplotlib.widgets import Slider
>
> fig = plt.figure()
>
> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
>
> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
> ax2.set_xticklabels("")
> ax2.set_yticklabels("")
> slider = Slider(ax2, "", 0., 1.)
>
> def update_vmax(value):
> image.set_clim(0., value)
> fig.canvas.draw()
>
> slider.on_changed(update_vmax)
>
> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
> x = np.random.random(10000)
> y = np.random.random(10000)
> ax3.scatter(x, y)
>
> plt.show()
> """
>
> When moving the slider, the vmax of the image changes, but I get very
> slow frame rates (~2/sec) on my computer with the MacOS X backend. I
> was wondering whether people here have any tips on speeding things up?
>
> As far as I can figure out, this is slow because both the slider and
> the callback function call ``fig.canvas.draw``. Slider calls it before
> the callback function, so I definitely need to draw things in that
> function, but I can get a factor of 2x speedup by doing
>
> slider.drawon = False
>
> which prevents ``canvas.draw()`` being called twice. However, this is
> still much too slow, so I started to look into using ``draw_artist``
> to only update elements that need updating, but this requires
> partially re-implementing the Slider class.
>
> As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
>
> https://github.com/matplotlib/matplotlib/issues/166
>
> but I'm willing to have a solution that wouldn't work on this backend
> if it was the only way.
>
> Does anyone have a clean solution to increasing the frame rate of this example?
>
> Thanks!
> Tom
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: Thomas R. <tho...@gm...> - 2013-06-24 11:40:04
|
Hi everyone,
The following shows an example of a simple data viewer which includes
a slider, a bitmap, and a scatter plot:
"""
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.widgets import Slider
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
ax2.set_xticklabels("")
ax2.set_yticklabels("")
slider = Slider(ax2, "", 0., 1.)
def update_vmax(value):
image.set_clim(0., value)
fig.canvas.draw()
slider.on_changed(update_vmax)
ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
x = np.random.random(10000)
y = np.random.random(10000)
ax3.scatter(x, y)
plt.show()
"""
When moving the slider, the vmax of the image changes, but I get very
slow frame rates (~2/sec) on my computer with the MacOS X backend. I
was wondering whether people here have any tips on speeding things up?
As far as I can figure out, this is slow because both the slider and
the callback function call ``fig.canvas.draw``. Slider calls it before
the callback function, so I definitely need to draw things in that
function, but I can get a factor of 2x speedup by doing
slider.drawon = False
which prevents ``canvas.draw()`` being called twice. However, this is
still much too slow, so I started to look into using ``draw_artist``
to only update elements that need updating, but this requires
partially re-implementing the Slider class.
As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
https://github.com/matplotlib/matplotlib/issues/166
but I'm willing to have a solution that wouldn't work on this backend
if it was the only way.
Does anyone have a clean solution to increasing the frame rate of this example?
Thanks!
Tom
|
|
From: psb1967 <ps...@ho...> - 2013-06-23 10:29:15
|
Hi, I am new to programming and this is my first major work. I wish to add Bollinger Bands and Hull Moving Average(HMA) in finance_work2.py. Need your guidance. Installation details: Windows 7 Python 3.3.2 Matplotlib 1.2.1 Numpy 1.7.1 Ta-Lib As it is I don't have any issues running the script however, adding BB and HMA will complete my task. Thanks in advance. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/To-add-Bollinger-Bands-in-finance-work2-py-tp41310.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Goodman, A. (398J-Affiliate) <go...@jp...> - 2013-06-22 05:47:53
|
Hi, I am trying to use basemap's interp function for regridding purposes, and I need to be able to handle masked arrays. Using bilinear or nearest-neighbor interpolation (order=1, order=0), it seems to work fine for masked arrays. However, none of the elements get masked after using cubic spline interpolation (order=3). I am assuming that the reason for this is due to the limitations of scipy.ndimage.map_coordinates(), which gets called when order=3. Are there currently any workarounds for this? Thanks, Alex -- Alex Goodman |
|
From: Benjamin R. <ben...@ou...> - 2013-06-21 16:00:12
|
Looks like you found a bug. It works properly with ax.plot(), but not for scatter(). Strange... As for contour(), it doesn't get a legend entry in the 2D case, so I wouldn't expect it to get a legend entry in the 3D case either. Could you file a bug report on github for this, please? Cheers! Ben Root |