Seaborn regplotで散布点と回帰直線に異なる色を設定する方法
Seaborn の regplot を使うと、散布点(データポイント)と回帰直線を1つのグラフに同時に描画できます。デフォルトでは両者が同じ色で表示されますが、scatter_kws と line_kws オプションを使えば、それぞれに異なる色を指定することが可能です。
手順の概要
- 図のサイズと余白を設定する:
plt.rcParamsを使って、図のサイズやサブプロット間・周囲のパディングを調整します。 - Pandas データフレームを作成する: X軸・Y軸のキーを持つデータフレームを用意します。
- regplot で回帰プロットを描画する:
scatter_kws={"color": "red"}で散布点の色を、line_kws={"color": "green"}で回帰直線の色をそれぞれ指定します。 - 図を表示する:
plt.show()メソッドを実行してグラフを表示します。
サンプルコード
import pandas
import matplotlib.pylab as plt
import seaborn as sns
import numpy as np
# 図のサイズとレイアウトの自動調整を設定
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# ランダムな値を持つデータフレームを作成
df = pandas.DataFrame({"X-Axis": [np.random.randint(5) for i in range(10)], "Y-Axis": [np.random.randint(5) for i in range(10)]})
# 散布点は赤、回帰直線は緑で描画
sns.regplot(x='X-Axis', y='Y-Axis', data=df, scatter_kws={"color": "red"}, line_kws={"color": "green"})
plt.show()
コードのポイント解説
このコードの重要な部分は sns.regplot() の引数指定です。
scatter_kws:散布点(マーカー)に対するスタイル設定を辞書形式で渡します。ここでは"color": "red"を指定して点を赤色にしています。サイズ(s)や透明度(alpha)なども同様に指定できます。line_kws:回帰直線に対するスタイル設定を辞書形式で渡します。"color": "green"により回帰直線が緑色で描画されます。線幅(linewidth)や線種(linestyle)の変更も可能です。
このように scatter_kws と line_kws を使い分けることで、散布点と回帰直線を視覚的に区別しやすくなり、データの傾向と実際の分布をひと目で把握できる見やすいグラフを作成できます。
-
FlaskでMatplotlibのグラフを表示する方法【サンプルコード付き】
Webアプリケーション上でグラフを動的に表示したい場合、FlaskとMatplotlibを組み合わせるのが効果的です。この記事では、Flaskアプリケーション内でMatplotlibのプロットをPNG画像としてブラウザに返す方法を、具体的な手順とサンプルコードとともにわかりやすく解説します。 実装の流れ FlaskでMatplotlibのグラフを表示するまでの基本的な手順は以下の通りです。 小さなFlaskアプリケーションを作成する カレントディレクトリに移動し、環境変数を設定してアプリを起動する$ export FLASK_APP=file.py$ flask run ブラウザで http
-
Matplotlibのループプロットでマーカーとラインに同じ色を設定する方法
Matplotlibでループ処理により複数のデータ系列を描画する際、「マーカー」と「ライン」に同じ色を割り当てたい場面はよくあります。本記事では、そのための基本的な手順と、色を確実に揃えるための実践的な方法をコード例とともに解説します。 基本の手順 numpy を使用して m、n、x のデータポイントを初期化します。 figure() メソッドで新しい図を作成、または既存の図をアクティブ化します。 clf() メソッドで図をクリアします。 subplot() メソッドで現在の図にサブプロットを追加します。 itertools.cycle を利用して、複数種類のマーカーを順番に取得できるよう