From: Benjamin R. <ben...@ou...> - 2012-07-17 13:22:20
|
On Tue, Jul 17, 2012 at 6:25 AM, todd rme <tod...@gm...> wrote: > On Wed, Jul 11, 2012 at 5:23 PM, John Hunter <jd...@gm...> wrote: > > > > > > On Wed, Jul 11, 2012 at 10:09 AM, Damon McDougall > > <dam...@gm...> wrote: > >> > >> Well, as Ben said, that error fill plot is neato! It doesn't look too > >> complicated, either. I'd be more than happy to port it over later today > >> when I get bored of typing up my thesis. It'll probably only take me > >> about 30 minutes. > >> > >> If nobody is opposed to this idea, I'll go ahead and submit a PR this > >> evening (British Summer (hah!) Time). > > > > > > > > While it is a nice graph, I am not sure that the use case is common > enough > > to justify a new plotting method. One can get the same result with: > > > > > > In [68]: x = np.linspace(0, 2 * np.pi) > > > > In [69]: y_sin = np.sin(x) > > > > In [70]: err = np.concatenate([y_sin + 0.2, y_sin[::-1] - 0.2]) > > > > In [71]: plot(x, y_sin) > > Out[71]: [<matplotlib.lines.Line2D object at 0x96959ec>] > > > > In [72]: fill_between(np.concatenate([x, x[::-1]]), err, > facecolor='red', > > alpha=0.5) > > Out[72]: <matplotlib.collections.PolyCollection object at 0x962758c> > > > > Admittedly the [::-1] thing is a bit counter-intuitive, but rather than > > adding a new plotting method, perhaps we would be better off with a > helper > > method to create the xs and ys for fill_between > > > > xs, ys = mlab.pad_line(x, y, 0.2) > > fill_between(xs, ys) > > > > JDH > > What about adding a property to the existing errorbar to let someone > change it to the filled version? This could also, potentially, be > extended with other types of error bars if the need arises. > > -Todd > Intriguing idea. I am actually quite comfortable with that. Ben Root |