import numpy as np
import matplotlib.pyplot as pl
import pdb
def plotData(data, options='', limits=[]):
group_colors = []
for i,dset in enumerate(data):
x = np.array([point['x'] for point in dset])
y = np.array([-point['y'] for point in dset])
if options != '':
pl.plot(x,y,options)
else:
pl.plot(x,y)
pl.hold(True)
pl.annotate(str(i), xy = (x[0],y[0]))
if len(limits):
pl.gca().set_xlim(limits[0],limits[1])
pl.gca().set_ylim(limits[2],limits[3])
def testPlot():
colors = ['b','g','r','c','m','k','y']
data1 = [[dict(x=1,y=1),dict(x=2,y=2),dict(x=3,y=3)],[dict(x=2,y=2),dict(x=4,y=4)],[dict(x=5,y=5),dict(x=6,y=8)]]
data2 = [[dict(x=1,y=1),dict(x=2,y=2),dict(x=3,y=3)],[dict(x=2,y=2),dict(x=4,y=4)]]
data = []
data.append(data1)
data.append(data2)
data.append(data1)
pl.figure()
pl.ion()
pl.subplot(2,1,1)
# Title with best definition from dictionary
pl.title("Title on top")
# Plot the data but colored according to segmentation in top plot
for i in range(len(data1)):
plotData([data1[i]],colors[i%len(colors)])
# Then plot segmentation parts (radicals) in different corresponding colors
# Title each plot with radical names
for i in range(len(data)):
pl.subplot(2,3,4+i)
pl.title("Row 2 subplot {0}".format(i))
plotData(data[i],colors[i%len(colors)],[0, 15, 0, 15])