PythonでCSVファイルをグラフに変換する方法

ソフトウェア会社のオフィスで働くプログラマーチーム開発ウェブサイトのデザインとコーディング技術の開発

CSVファイルは、その単純さと移植性のために便利であり、大量のデータの表示や分析には効果がありません。 ただし、データは視覚的に表示されません。

画像クレジット: SARINYAPINNGAM / iStock / GettyImages

ほとんどのデータベースおよびスプレッドシートアプリケーションは、CSV(カンマ区切り値)ファイルの形式でテーブルデータを便利に出力できます。 CSVファイルは、その単純さと移植性のために便利ですが、大量のデータを表示または分析するには効果がありません。 この制限を克服するために、プログラマーはPythonプログラミング言語とmatplotlibを使用してプロットできます CSVファイルからデータを取得し、Webまたは印刷に適した読みやすく視覚的に魅力的なグラフを作成します 出版物。

CSVデータをプロットするための準備

実際にPythonでCSVファイルをプロットする前に、必要なツールがすべて揃っていることを確認し、テストファイルを作成する必要があります。 これには、Pythonと必要なライブラリのインストール、および2列の数値データを含むCSVファイルのインストールが含まれます。

今日のビデオ

ステップ1:テストファイルを作成する

まず、テキストエディタを開き、テスト用の簡単なCSVファイルを作成します。 サンプルは次のようになります。

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

ステップ2:必要なライブラリをインポートする

これで、次のコード行を使用して、必要なPythonライブラリをコードファイルにインポートする準備が整いました。

matplotlib.pyplotをpltとしてインポートしますimportcsv import sys

CSVからPythonでグラフをプロット

準備が整ったら、実際にPythonを使用してCSVファイルからグラフを描画することができます。

ステップ1:リーダーオブジェクトを作成する

CSVファイルを開き、そこからリーダーオブジェクトを作成します。 変数を宣言して、グラフのx軸とy軸の値の上限と下限を定義します。

csv_reader = csv.reader(open( 'test.csv'))bigx = float(-sys.maxint -1)bigy = float(-sys.maxint -1)smallx = float(sys.maxint)smally = float(sys .maxint)

ステップ2:行を反復処理する

各行を頂点配列の頂点として格納しているリーダーオブジェクトに含まれる各行を反復処理します。 同じループで、x値とy値を比較して、それらの上限と下限を格納します。 頂点配列を並べ替えてから、もう一度ループします。 今回は、ソートされたx値とy値を別々の配列に格納します。

verts = [] for row in csv_reader:verts.append(row)if float(row [0])> bigx:bigx = float(row [0])if float(row [1])> bigy:bigy = float( row [1])if float(row [0])< smallx:smallx = float(row [0])if float(row [1])

ステップ3:FigureCanvasオブジェクトを作成する

インポートされたmatplotlibpyplotオブジェクトを使用してFigureCanvasオブジェクトを作成します。 関数add_axesを呼び出し、左、下、幅、高さの形式で値の配列を渡すことにより、グラフの軸をFigureCanvasに追加します。 これらの値は、グラフがキャンバス上のどこに配置されるかを定義します。範囲は0.0から1.0です。

fig = plt.figure()ax = fig.add_axes([0.1、0.1、0.8、0.8])

ステップ4:グラフをフォーマットする

ラベルを追加し、各軸の最小値と最大値を定義して、グラフをフォーマットします。

ax.set_xlabel( 'x data')ax.set_ylabel( 'y data')ax.set_xlim(smallx、bigx)ax.set_ylim(smally、bigy)

ステップ5:グラフをプロットする

CSVファイルから取得したx値とy値を含む2つの配列を渡して、グラフをプロットします。 線の色(色)や線の幅(lw)などのオプションの値を渡して、折れ線グラフをカスタマイズします。 showメソッドを呼び出してウィンドウを開き、savefigを呼び出してディスク上にビットマップファイルを作成して画像を保存することにより、完成したグラフを表示します。

ax.plot(x_arr、y_arr、color = 'blue'、lw = 2)plt.show()fig.savefig( 'test.png')

ファイルに関する重要な考慮事項

Pythonインタープリターが読み取ることができるファイルを作成するには、テキストのみのファイルを作成するASCIIテキストまたはコードエディターを使用する必要があります。 グラフ画像は、png、pdf、ps、svgなどのさまざまな画像形式で保存できます。

Matplotlibのドキュメントを参照してください

matplotlibライブラリのインストールと機能のいくつかの側面は、コンピュータープラットフォームによって異なります。 ドキュメントを注意深く読んでください。 ライブラリは、さまざまな方法で数値情報を表示でき、細かくカスタマイズできます。 習熟するには、ドキュメントをよく読む必要があります。