Faça um gráfico de múltiplas linhas a partir do arquivo .CSV no matplotlib

Eu tenho tentado por semanas para traçar 3 conjuntos de dados (x, y) no mesmo enredo a partir de um arquivo .CSV, e estou chegando a lugar nenhum. Meus dados eram originalmente um arquivo do Excel que eu converti para um arquivo .CSV e useipandas para lê-lo no IPython de acordo com o seguinte código:

from pandas import DataFrame, read_csv
import pandas as pd
# define data location
df = read_csv(Location)
df[['LimMag1.3', 'ExpTime1.3', 'LimMag2.0', 'ExpTime2.0', 'LimMag2.5','ExpTime2.5']][:7]

Meus dados estão no seguinte formato:

Type    mag1    time1   mag2    time2   mag3    time3

M0      8.87    41.11   8.41    41.11   8.16    65.78;

...

M6     13.95  4392.03  14.41 10395.13  14.66 25988.32

Estou tentando traçartime1 vsmag1, time2 vsmag2 etime3 vsmag3, tudo no mesmo enredo, mas em vez disso eu recebo um monte detime.. vsType, por exemplo. para o código:

df['ExpTime1.3'].plot()

eu recebo'ExpTime1.3' (eixo y) traçado contraM0 paraM6 (eixo x), quando o que eu quero é'ExpTime1.3' vs'LimMag1.3'com rótulos xM0 - M6.

Como eu consigo'ExpTime..' vs'LimMag..' parcelas, com todos os 3 conjuntos de dados no mesmo enredo?

Como obtenho oM0 - M6 rótulos no eixo x para o'LimMag..' valores (também no eixo x)?

Desde que tentei as soluções da askewchan, que não retornaram nenhuma parcela por razões desconhecidas, descobri que posso obter uma parcela deExpTimevsLimMagusandodf['ExpTime1.3'].plot(),se eu mudar o índice do dataframe (df.index) para os valores do eixo x (LimMag1.3). No entanto, isso parece significar que preciso converter cada eixo x desejado no índice do dataframe inserindo manualmente todos os valores do eixo x desejado para torná-lo o índice de dados. Eu tenho uma enorme quantidade de dados, e este método é muito lento, e eu só posso traçar um conjunto de dados de cada vez, quando eu preciso traçar todas as 3 séries para cada conjunto de dados no gráfico. Existe uma maneira de contornar este problema? Ou alguém pode oferecer uma razão, e uma solução, porque eu não tenho nenhum tipo de complicação com as soluções oferecidas pelo askewchan?

Em resposta ao nordev, eu tentei a primeira versão novamente, mas nenhum gráfico foi produzido, nem mesmo uma figura vazia. Cada vez que eu coloco em um dosax.plotcomandos, eu recebo uma saída do tipo:[<matplotlib.lines.Line2D at 0xb5187b8>], mas quando eu entro no comandoplt.show()nada acontece. Quando eu entroplt.show()depois do loop na segunda solução do askewchan, recebo um erro dizendoAttributeError: 'function' object has no attribute 'show'

Eu fiz um pouco mais de mexer com o meu código original e agora posso obter um enredo deExpTime1.3vsLimMag1.3 com o códigodf['ExpTime1.3'][:7].plot(), fazendo o índice o mesmo que o eixo x (LimMag1.3), mas não consigo obter os outros dois conjuntos de dados no mesmo gráfico. Eu apreciaria quaisquer outras sugestões que você possa ter. Eu estou usando ipython 0.11.0 via Anaconda 1.5.0 (64 bits) e spyder no Windows 7 (64 bits), a versão python é 2.7.4.

questionAnswers(2)

yourAnswerToTheQuestion