#!/usr/bin/python
from pylab import *;
import time;
def log(M):
print "__(log) " + M;
def test02():
plt.ion();
fig=plt.figure(1);
ax1=fig.add_subplot(311);
ax2=fig.add_subplot(312);
ax3=fig.add_subplot(313);
l1,=ax1.plot(100,100,'r-');
l2,=ax2.plot(100,100,'r-');
l3,=ax3.plot(100,100,'r-');
time.sleep(3);
D=[];
i=0.0;
while (i < 50.0):
D.append((i,sin(i),cos(i),cos(i*2)));
T1=[x[0] for x in D];
L1=[x[1] for x in D];
L2=[x[2] for x in D];
L3=[x[3] for x in D];
l1.set_xdata(T1);
l1.set_ydata(L1);
l2.set_xdata(T1);
l2.set_ydata(L2);
l3.set_xdata(T1);
l3.set_ydata(L3);
ax1.set_xlim([0,50]);
ax2.set_xlim([0,50]);
ax3.set_xlim([0,50]);
ax1.set_ylim([-1.5,1.5]);
ax2.set_ylim([-1.5,1.5]);
ax3.set_ylim([-1.5,1.5]);
plt.draw();
i+=0.10;
show(block=True);
#---main---
log("main process initializing");
test02();
log("main process terminating");
Easy Peasy;
Showing posts with label plotting. Show all posts
Showing posts with label plotting. Show all posts
11 April, 2014
Generating Multi-Plot Real-Time Plots with Python
In my last post the real-time plotting capabilities were demonstrated, we're extending on this by showing how to generate multiple plots simultaneously. A couple noteworthy observations, in the past post the X and Y scaling was automatically scaled after each element addition. While you can still do this, typically for multiplots we would prefer maintaining a shared X range. While somewhat unnecessary, I've elected to maintain a uniform Y range.
Labels:
concurrent plotting,
line,
matplotlib,
multi-plot,
plotting,
python,
real-time
01 April, 2014
Plotting with Python
Scripting languages are incredibly powerful, but more powerful when you can visualize the data you are processing. In this post, we will demonstrate how to quickly plot data sets via Python.
Start with installing Python and a plotting utility known as MatplotLib;
For more detailed features, refer to the MatlabLib site: http://matplotlib.org/contents.html
Cheers.
Start with installing Python and a plotting utility known as MatplotLib;
$ sudo apt-get install python python-matplotlib
Then, let's start with a classic plot, sin(x);
#!/usr/bin/python
from pylab import *;
import time;
def log(M):
print "__(log) " + M;
def test00():
D=[];
i=0.0;
while (i < 50.0):
D.append((i,sin(i)));
i+=0.10;
plt.ion();
xlabel('radians');
ylabel('sin(x)');
grid(True);
plt.figure(1);
show();
T=[x[0] for x in D];
L=[x[1] for x in D];
plt.plot(T,L,'b-');
show(block=True);
#---main---
log("main process initializing");
test00();
log("main process terminating");
The result is calculating a data set followed by plotting the data and allowing the user to manipulate the plots (e.g. zooming, panning, ...).
For more detailed features, refer to the MatlabLib site: http://matplotlib.org/contents.html
Cheers.
Subscribe to:
Posts (Atom)