1

20 列を含む csv ファイルがあります。現在、最初の列を x 軸、残りの列を y 軸として、このコードを使用してプロットできます。

import numpy as np
import matplotlib.pyplot as plt
data = np.genfromtxt('cs.csv',delimiter=',', dtype = float)

a = [row[0] for row in data]
b = [row[1] for row in data]
c = [row[2] for row in data]

fig = plt.figure()
ax = fig.add_subplot(111, axisbg = 'w')
ax.plot(a,b,'g',lw=1.3)
ax.plot(a,c,'r',lw=1.3)
plt.show()

問題はここにあります。使用してすべての列を定義する必要があります

a = [データ内の行の行[0]]

すべての列のこのコードを1つずつ。最初の列をx軸定数として19列すべてをプロットし、それらを単一のウィンドウにプロットできるように、実際にいくつかの方法が必要です。助けてください。

4

3 に答える 3

3

プロットに matplotlib を使用する pandas を使用しててください。たとえば、次のような CSV があるとします。

a,b,c
20,2,5
40,6,8
60,4,9

次のように列をプロットできますbc

import pandas as pd

df = pd.DataFrame.from_csv('test.csv', parse_dates=False)
df.b.plot(color='g',lw=1.3)
df.c.plot(color='r',lw=1.3)

最初の列は、デフォルトでインデックスと x 軸として使用されます。詳細については、プロットのドキュメントを参照してください。

于 2013-06-13T11:04:21.523 に答える
0

Matti John が言ったように、Pandas は前進する方法であり、あなたが求めたことをさらに簡単に行うことができます。あなたの CSV が彼が投稿したものと同様の形式であると仮定すると、次のように最初の列に対してすべての列 (最初の列を除く) をプロットできます。

import pandas as pd
df = pd.read_csv('name_of_file.csv', index_col=0)
df.plot(x=df.index, y=df.columns)

Matti John が提供した CSV を使用すると、つまり

a,b,c
20,2,5
40,6,8
60,4,9

これは上記のコードからの出力です

于 2017-06-29T12:46:12.793 に答える