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」ファイルには、次のようなデータが含まれています。
| data1 | data2 | data3 |
|---|---|---|
| 1 | 45 | 71 |
| 2 | 98 | 65 |
| 3 | 75 | 29 |
| 4 | 54 | 63 |
| 5 | 23 | 12 |
| 6 | 35 | 27 |
| 7 | 46 | 39 |
| 8 | 57 | 44 |
| 9 | 68 | 51 |
出力結果
コードを実行すると、data1をX軸、data2をY軸とし、data3の値に基づいて色分けされた以下のような散布図が出力されます。data3の値が大きいほど明るい色(viridisの場合は黄色系)、小さいほど暗い色(紫系)で表示されるため、3つのデータの関係性を1つのグラフで直感的に把握できます。


-
MatplotlibでRectangle(長方形)に色を設定する方法
Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show
-
TXTファイルをCSVに変換する方法|Excelとオンラインツールの手順を解説
テキストファイル(TXT)は、書式設定のないプレーンなテキストのみで構成された標準的な文書形式です。ほとんどのデバイスで開くことができ、拡張子は「.txt」となります。一方、CSV(カンマ区切り値)ファイルは、データがカンマやタブなどの区切り文字で整理された、より構造化された形式のファイルです。ウェブサイトからダウンロードすると、CSVではなくTXTファイルが取得できることもありますが、単に拡張子を変更しても正しく変換されません。そのため、ユーザー自身がTXTファイルをCSVファイルに変換する必要があります。 Excelを使ってTXTファイルをCSVに変換する方法 ExcelはTXTファイルと