##// END OF EJS Templates
Merge pull request #5062 from minrk/js-test-races...
Merge pull request #5062 from minrk/js-test-races adjust some events in nb_roundtrip

File last commit:

r15185:24fd7362
r15246:51d8a38d merge
Show More
parallel_plot.ipy
44 lines | 1.2 KiB | text/plain | TextLexer
"""Example of how to use matplotlib to plot parallel data.
The idea here is to run matplotlib is the same IPython session
as an ipython parallel Client. That way matplotlib
can be used to plot parallel data that is gathered using
a DirectView.
To run this example, first start the IPython controller and 4
engines::
ipcluster -n 4
Then start ipython with matplotlib integration mode::
ipython --matplotlib
Then a simple "%run parallel_plot.ipy" in IPython will run the
example.
"""
import matplotlib.pyplot as plt
from IPython.parallel import Client
# Get an IPython Client
rc = Client()
v = rc[:]
# Create random arrays on the engines
# This is to simulate arrays that you have calculated in parallel
# on the engines.
# Anymore that length 10000 arrays, matplotlib starts to be slow
%px import numpy as np
%px x = np.random.standard_normal(10000)
%px y = np.random.standard_normal(10000)
print v.apply_async(lambda : x[0:10]).get_dict()
print v.apply_async(lambda : y[0:10]).get_dict()
# Bring back the data
x_local = v.gather('x', block=True)
y_local = v.gather('y', block=True)
# Make a scatter plot of the gathered data
plt.plot(x_local, y_local,'ro')