NetworkX / Matplotlibでノードのカラーマップを描画する方法
PythonのNetworkXとMatplotlibを組み合わせると、グラフの各ノードにカラーマップ(色分け)を適用した図を簡単に描画できます。ノードごとに異なる色を割り当てることで、グラフ構造をより直感的に視覚化できます。
描画の手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- ノードが環状に接続されたサイクルグラフ $C_n$ を生成します。
- ノードを円形上に配置します。
- Matplotlibを使ってグラフ G を描画します。
- show() メソッドで図を表示します。
コード例
import matplotlib.pyplot as plt import networkx as nx plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True G = nx.cycle_graph(24) pos = nx.circular_layout(G) nx.draw(G, pos, node_color=range(24), node_size=800, cmap='copper') plt.show()
コードの解説
- nx.cycle_graph(24): 24個のノードがリング状につながったサイクルグラフ C24 を作成します。
- nx.circular_layout(G): 全ノードを円形上に均等に配置する座標を計算します。
- node_color=range(24): 各ノードに0〜23の数値を割り当て、その値に応じて色が決まります。
- cmap='copper': 銅色系のグラデーションを持つ「copper」カラーマップを指定します。「viridis」や「plasma」など他のカラーマップも利用可能です。
- node_size=800: ノードの大きさを指定します。
出力結果


このように、node_color に数値のシーケンスを渡し、cmap でカラーマップを指定するだけで、ノードを美しく色分けしたグラフを描画できます。データの属性値に応じてノードの色を変えたい場合にも、同じ手法がそのまま応用できます。
-
MatplotlibでParulaカラーマップを作成する方法を解説
Matplotlibには標準で用意されていない「Parula」カラーマップを自作して使いたい場面があります。この記事では、LinearSegmentedColormapを使ってParula風のカラーマップを簡単に作成する手順を、サンプルコード付きでわかりやすく紹介します。 作成の手順 MatplotlibでParulaカラーマップを作成するには、以下のステップに沿って進めます。 図のサイズと余白を設定する:plt.rcParamsでフィギュアサイズやサブプロット間・周囲のパディングを調整します。 Numpyでカラーマップ用のデータを作成する:カラーパターンの元となるデータを生成します。 Li
-
FlaskでMatplotlibのグラフを表示する方法【サンプルコード付き】
Webアプリケーション上でグラフを動的に表示したい場合、FlaskとMatplotlibを組み合わせるのが効果的です。この記事では、Flaskアプリケーション内でMatplotlibのプロットをPNG画像としてブラウザに返す方法を、具体的な手順とサンプルコードとともにわかりやすく解説します。 実装の流れ FlaskでMatplotlibのグラフを表示するまでの基本的な手順は以下の通りです。 小さなFlaskアプリケーションを作成する カレントディレクトリに移動し、環境変数を設定してアプリを起動する$ export FLASK_APP=file.py$ flask run ブラウザで http