Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python MatplotlibでCSVファイルの3列目のデータに基づいて色分けした2D散布図を作成する方法

CSVファイルに含まれる3番目の配列(3列目のデータ)の値に基づいて、点の色を変えて表示する2D散布図を作成するには、以下の手順で実装できます。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 3つのヘッダーを持つCSVファイルを読み込みます。
  • 新しい図を作成するか、既存の図をアクティブにします。
  • サブプロット配置の一部として、図に「ax」を追加します。
  • CSVファイルのデータポイントを使用して散布図を描画します。このとき、3列目のデータをc引数に渡すことで、値に応じた色分けが可能になります。
  • show()メソッドを使って図を表示します。

サンプルコード

import pandas as pd
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# 読み込む列を指定
columns = ["data1", "data2", "data3"]
df = pd.read_csv("input.csv", usecols=columns)

fig = plt.figure()
ax = fig.add_subplot(111)

# 3列目(data3)の値に基づいて色分け
sc = ax.scatter(df.data1, df.data2, c=df.data3, marker="*", cmap="viridis")

# カラーバーを追加すると対応関係がわかりやすい
fig.colorbar(sc, ax=ax, label="data3")

plt.show()

ポイント: scatter()メソッドのc引数に3列目のデータ(df.data3)を渡すことで、その値の大小に応じて点が自動的に色分けされます。また、cmap引数でカラーマップを指定でき、colorbar()を追加すればどの色がどの値に対応するかがひと目でわかります。

入力データ(input.csv)

「input.csv」ファイルには、次のようなデータが含まれています。

data1data2data3
14571
29865
37529
45463
52312
63527
74639
85744
96851

出力結果

コードを実行すると、data1をX軸、data2をY軸とし、data3の値に基づいて色分けされた以下のような散布図が出力されます。data3の値が大きいほど明るい色(viridisの場合は黄色系)、小さいほど暗い色(紫系)で表示されるため、3つのデータの関係性を1つのグラフで直感的に把握できます。

Python MatplotlibでCSVファイルの3列目のデータに基づいて色分けした2D散布図を作成する方法Python MatplotlibでCSVファイルの3列目のデータに基づいて色分けした2D散布図を作成する方法

  1. MatplotlibでRectangle(長方形)に色を設定する方法

    Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show

  2. TXTファイルをCSVに変換する方法|Excelとオンラインツールの手順を解説

    テキストファイル(TXT)は、書式設定のないプレーンなテキストのみで構成された標準的な文書形式です。ほとんどのデバイスで開くことができ、拡張子は「.txt」となります。一方、CSV(カンマ区切り値)ファイルは、データがカンマやタブなどの区切り文字で整理された、より構造化された形式のファイルです。ウェブサイトからダウンロードすると、CSVではなくTXTファイルが取得できることもありますが、単に拡張子を変更しても正しく変換されません。そのため、ユーザー自身がTXTファイルをCSVファイルに変換する必要があります。 Excelを使ってTXTファイルをCSVに変換する方法 ExcelはTXTファイルと