[SciPy-Dev] signal.freqs/freqz plot keyword
Ralf Gommers
ralf.gommers@googlemail....
Sun Jul 18 05:44:03 CDT 2010
On Sat, Jul 17, 2010 at 10:09 PM, Ryan May <rmay31@gmail.com> wrote:
> On Jul 17, 2010, at 4:38, Ralf Gommers <ralf.gommers@googlemail.com>
> wrote:
>
> > freqs/freqz have a keyword plot=None, which if True does this:
> > if not plot is None:
> > plot(w, h)
> > while plot is not even defined.
>
> If it's not none, it should be a callable passed in, which let's you seine
> your own plotting function. Actually using matplotlib's plot produces
> unexpected results, you end up plotting the real part of the complex
> transfer function, not the magnitude. This actually bit me recently and
> should probably be documented.
>
Ah, that makes sense. Would indeed have been clearer with documentation.
I'll add it.
>
> > keyword should be removed or the implementation should be something like:
> > if plot:
> > try:
> > import matplotlib.pyplot as plt
> > plt.plot(w, h)
> > plt.show()
> > except ImportError:
> > warnings.warn("`plot` is True, but can't import
> matplotlib.pyplot.")
>
> No, you can use any plotting library right now.
>
>
> > Removal makes more sense I think, since scipy does not depend on
> matplotlib. And why provide a plot keyword in these functions and not in
> many others where it would also make sense?
>
> It's mimmicking MATLAB functionality, which will plot the transfer function
> if you call freqz and don't save the results.
>
> Looks like it's been part of the signature since the functions were added,
so never mind the removing. But I still find it very inconsistent and
odd-looking.
Cheers,
Ralf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-dev/attachments/20100718/8e7ab1cc/attachment.html
More information about the SciPy-Dev
mailing list