plot() question

Hi,

I have a 2d array like:

[[64, 13], [66, 22], [68, 9], [70, 11], [72, 8], [74, 10], [76, 11],
[78, 8], [80, 9], [82, 9], [84, 15], [86, 13], [88, 5], [90, 9], [92,
13], [94, 12], [96, 7]]

I'd like to plot a line/graph that goes through all those coordinates
specified in the array.

What I do:

for point in array:
  plot(point[0], point[1], 'bo-')

This draws the dots on the graph as desired - but it does not draw the
line between them.

Is the data format wrong?

thanks

To plot a line using pyplot.plot you need an array/list of x coordinates and an array/list of y coordinates.

So if you have:

data = [[64, 13], [66, 22], [68, 9], [70, 11], [72, 8], [74, 10], [76, 11],
[78, 8], [80, 9], [82, 9], [84, 15], [86, 13], [88, 5], [90, 9], [92, 13],
[94, 12], [96, 7]]

You can get a list of xs and a list of ys with:

xs, ys = zip(*data)

From that point, it is as simple as doing:

import matplotlib.pyplot as plt
plt.plot(xs, ys)

Hope that helps,

Phil

···

On 16 October 2012 09:39, rand0m@…4228… <rand0m@…4228…> wrote:

[[64, 13], [66, 22], [68, 9], [70, 11], [72, 8], [74, 10], [76, 11],

[78, 8], [80, 9], [82, 9], [84, 15], [86, 13], [88, 5], [90, 9], [92,

13], [94, 12], [96, 7]]