Seabornのjointplotで各ポイントの色とマーカーを個別に変更する方法
Seabornのjointplot()を使って散布図を描く際、デフォルトではすべてのポイントが同じ色・マーカーで表示されます。しかし、各ポイントごとに異なる色とマーカーを割り当てたいケースは少なくありません。この記事では、その実現方法をステップごとに解説します。
実装の手順
- 図のサイズを設定し、サブプロット間の余白(パディング)を調整します。
- オンラインリポジトリからサンプルデータセットを読み込みます(インターネット接続が必要です)。
- jointplot()メソッドを使用してtipsデータをプロットします。
- cla()メソッドで現在の軸をクリアし、デフォルトの描画内容を削除します。
- 各ポイント用の色とマーカーのリストを作成します。
- set_axis_labels()メソッドで軸ラベルを設定します。
- show()メソッドで図を表示します。
コード例
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
tips = sns.load_dataset("tips")
g = sns.jointplot("total_bill", "tip", data=tips, height=4.50)
g.ax_joint.cla()
colors = np.random.random((len(tips), 3))
markers = ['v', '^', '<', '*', 'o'] * 100
for i, row in enumerate(tips.values):
g.ax_joint.plot(row[0], row[1], color=colors[i], marker=markers[i])
g.set_axis_labels('total bill', 'tip', fontsize=10)
plt.show()コードのポイント解説
1. 軸のクリア処理
g.ax_joint.cla()は重要なステップです。jointplotが自動的に描画した散布図を一度クリアすることで、独自のスタイルでポイントを再描画できるようになります。この処理を行わないと、元のプロットが残ったまま重なって表示されてしまいます。
2. ランダムな色の生成
np.random.random((len(tips), 3))により、データ件数分のRGB値(0〜1の範囲)をランダムに生成しています。これにより、各ポイントがそれぞれ異なる色になります。
3. マーカーの循環利用
マーカーの種類は5種類('v'、'^'、'<'、'*'、'o')を用意し、* 100でリストを繰り返してデータ件数以上の長さを確保しています。これにより、全ポイントにマーカーが割り当てられます。
出力結果

この方法を使えば、jointplotの美しい周辺分布表示(ヒストグラム)を保ちながら、主プロット部分のポイントを自由にカスタマイズできます。データのカテゴリごとに色を変えたり、特定の条件を満たすポイントだけ強調表示したりする応用も可能です。
-
Windows 10で色と外観の変更を禁止する2つの方法【グループポリシー・レジストリ】
Windows 10では、ユーザーがシステムの外観や色を自由にカスタマイズできるようになりました。アクセントカラーの選択、透明効果のオン/オフ、タイトルバーへのアクセントカラー表示など、さまざまな設定が可能です。しかし、標準設定には「色と外観の変更を禁止する」オプションが用意されていません。頻繁に外観が変わるのを防ぎたい個人ユーザーや、社内PCの設定を統一したい企業にとって、色と外観の変更をロックする機能は非常に便利です。設定を有効にすると、ユーザーが色や外観を変更しようとした際に「一部の設定はお使いの組織によって管理されています」という警告メッセージが表示され、変更できなくなります。この記事
-
暗闇でiPhoneを使うと目が疲れる?目の負担を軽減する4つの便利な設定テクニック
iPhoneの魅力のひとつは、周囲の自然光に合わせて画面の色を自動的に調整してくれる点です。これにより目の疲れを軽減し、より快適に画面を見ることができます。しかし、暗い場所でiPhoneを使うときに役立つ機能は、それだけではありません。 この記事では、夜間や暗闇でiPhoneを使用する際に、画面の負担を抑えて目の疲れを軽減するための4つの便利な設定方法をご紹介します。 暗闇でiPhoneを使うための4つのテクニック 1. ダークモードを有効にする方法 iOS 13の登場により、iPhoneにはシステム全体に対応したダークモードが搭載されました。ダークモードを有効にすると、メニューだけでなく対応