improved
git-svn-id: http://moon:8086/svn/projects/Stock@302 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
"""
|
||||
compute the mean and stddev of 100 data sets and plot mean vs stddev.
|
||||
When you click on one of the mu, sigma points, plot the raw data from
|
||||
the dataset that generated the mean and stddev
|
||||
"""
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
X = np.random.rand(100, 1000)
|
||||
xs = np.mean(X, axis=1)
|
||||
ys = np.std(X, axis=1)
|
||||
|
||||
fig = plt.figure()
|
||||
ax = fig.add_subplot(111)
|
||||
ax.set_title('click on point to plot time series')
|
||||
line, = ax.plot(xs, ys, 'o', picker=5) # 5 points tolerance
|
||||
|
||||
|
||||
def onpick(event):
|
||||
|
||||
if event.artist!=line: return True
|
||||
|
||||
N = len(event.ind)
|
||||
if not N: return True
|
||||
|
||||
|
||||
figi = plt.figure()
|
||||
for subplotnum, dataind in enumerate(event.ind):
|
||||
ax = figi.add_subplot(N,1,subplotnum+1)
|
||||
ax.plot(X[dataind])
|
||||
ax.text(0.05, 0.9, 'mu=%1.3f\nsigma=%1.3f'%(xs[dataind], ys[dataind]),
|
||||
transform=ax.transAxes, va='top')
|
||||
ax.set_ylim(-0.5, 1.5)
|
||||
figi.show()
|
||||
return True
|
||||
|
||||
fig.canvas.mpl_connect('pick_event', onpick)
|
||||
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user