Sudheer,
For the documentation you are looking for
print ax1.xcorr.__doc__
(Paul tried to give you the IPython method of getting that documentation which
is by typing a ? (or ??) after the desired object.)
In the documentation (at the link you gave
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr), it says
that there are three objects returned by xcorr:
Return value is a tuple (*lags*, *c*, *line*) where:
- *lags* are a length ``2*maxlags+1`` lag vector
- *c* is the ``2*maxlags+1`` auto correlation vector
- *line* is a :class:`~matplotlib.lines.Line2D` instance
returned by :func:`~matplotlib.pyplot.plot`.
So the error you were getting is due to the fact that you have only specified
two variables to hold the three returned objects.
Try:
lags,c,line = ax1.xcorr .
(Note that you have xcorr and lags backwards in your attempt.)
-Sterling
On Feb 8, 2013, at 1:56AM, Sudheer Joseph wrote:
Thank you verymuch Hobson,
However I think I did not understand
the suggestion by you fully( pardon my ignorance). I use the below test code
from matplotlib site. How does one make a call to get lags and correlation
corresponding to the x and y values in the plot. a Print command of
In [23]: print ax1.xcorr
bound method AxesSubplot.xcorr of matplotlib.axes.AxesSubplot object at
0x44c1410
results as above. Is it possible to assign the xcorr,lags=ax1.xcorr(x, y,
usevlines=True, maxlags=50, normed=True, lw=2) ? with a different syntax? I
get below error when I try the above .
In [27]: xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True,
lw=2)
---
ValueErrorTraceback (most recent call last)
/home/sjo/work/PY_WORK/stats/ipython-input-27-e1e58c045ad4 in module()
1 xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True,
lw=2)
ValueError: too many values to unpack
import matplotlib.pyplot as plt
import numpy as np
x,y = np.random.randn(2,100)
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax1.grid(True)
ax1.axhline(0, color='black', lw=2)
ax2 = fig.add_subplot(212, sharex=ax1)
ax2.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax2.grid(True)
ax2.axhline(0, color='black', lw=2)
plt.show()
From: Paul Hobson pmhob...@gmail.com
To: Sudheer Joseph sudheer.jos...@yahoo.com
Cc: matplotlib-users@lists.sourceforge.net
matplotlib-users@lists.sourceforge.net
Sent: Thursday, 7 February 2013 10:31 PM
Subject: Re: [Matplotlib-users] cross correlation
On Thu, Feb 7, 2013 at 3:24 AM, Sudheer Joseph sudheer.jos...@yahoo.com
wrote:
Dear Users,
I am relatively new to Matplotlib. I wanted to find cross
correlation between 2 time series for my research and was looking at options
available with python and found
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr . However I
wanted to save the results in a netcdf file for further use. ie the
correlation, lags and significance if possible. Is there a way to get the
corr and lags from the axis.xcorr ?? any help in this matter will be greatly
appreciated.
Sudheer
Sudheer,
A call to axes.xcorr returns the lags, correlation (from np.correlate) and
the line artists on the figure.
In IPython, doing plt.xcorr?? should provide sufficient information. It's a
pretty simple method.
-paul
--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
___
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users