plot different columns

Fabian Braennstroem <f.braennstroem@...380...> writes:

Lets say I have to columns, the I could use in a script:

    res=plot(array_mapped[:,0],array_mapped[:,1], 'b',
                array_mapped[:,0],array_mapped[:,2], 'g')

The next time a have 5 columns in a file and want to plot all 5
columns without adjusting the 'plot' command in the script, but just
by defining an argument when starting the script.

Perhaps 'plot' is not the ideal interface for your purposes. How about
something like this:

Hi Jouni,

···

Jouni K. Sepp�nen schrieb am 09/16/2007 05:51 PM: > Fabian Braennstroem <f.braennstroem@...380...> writes:

Lets say I have to columns, the I could use in a script:

    res=plot(array_mapped[:,0],array_mapped[:,1], 'b',
                array_mapped[:,0],array_mapped[:,2], 'g')

The next time a have 5 columns in a file and want to plot all 5
columns without adjusting the 'plot' command in the script, but just
by defining an argument when starting the script.

Perhaps 'plot' is not the ideal interface for your purposes. How about
something like this:

------------------------------------------------------------------------

#!/usr/bin/env python

import matplotlib
from matplotlib.lines import Line2D
import pylab
import numpy as npy

def myplot(ax, matrix, linestyle, color):
    for column in range(1, matrix.shape[1]):
        line = Line2D(matrix[:,0], matrix[:,column],
                      linestyle=linestyle, color=color)
        ax.add_line(line)

colors = 'brk'

for d in range(2,5):
    fig=pylab.figure()
    ax=fig.add_subplot(111)
    matrix = npy.random.rand(d,d)
    matrix[:,0] = npy.linspace(0, 1, num=d)
    myplot(ax, matrix, '-', colors[d-2])
    
pylab.show()

Thanks for your help! add_line seems to be the right
function... I am not sure yet, if I need your function call,
but I will check it!?

Fabian