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

NetworkX / Matplotlibでノードのカラーマップを描画する方法

PythonのNetworkXMatplotlibを組み合わせると、グラフの各ノードにカラーマップ(色分け)を適用した図を簡単に描画できます。ノードごとに異なる色を割り当てることで、グラフ構造をより直感的に視覚化できます。

描画の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • ノードが環状に接続されたサイクルグラフ $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: ノードの大きさを指定します。

出力結果

NetworkX / Matplotlibでノードのカラーマップを描画する方法NetworkX / Matplotlibでノードのカラーマップを描画する方法

このように、node_color に数値のシーケンスを渡し、cmap でカラーマップを指定するだけで、ノードを美しく色分けしたグラフを描画できます。データの属性値に応じてノードの色を変えたい場合にも、同じ手法がそのまま応用できます。

  1. MatplotlibでParulaカラーマップを作成する方法を解説

    Matplotlibには標準で用意されていない「Parula」カラーマップを自作して使いたい場面があります。この記事では、LinearSegmentedColormapを使ってParula風のカラーマップを簡単に作成する手順を、サンプルコード付きでわかりやすく紹介します。 作成の手順 MatplotlibでParulaカラーマップを作成するには、以下のステップに沿って進めます。 図のサイズと余白を設定する:plt.rcParamsでフィギュアサイズやサブプロット間・周囲のパディングを調整します。 Numpyでカラーマップ用のデータを作成する:カラーパターンの元となるデータを生成します。 Li

  2. FlaskでMatplotlibのグラフを表示する方法【サンプルコード付き】

    Webアプリケーション上でグラフを動的に表示したい場合、FlaskとMatplotlibを組み合わせるのが効果的です。この記事では、Flaskアプリケーション内でMatplotlibのプロットをPNG画像としてブラウザに返す方法を、具体的な手順とサンプルコードとともにわかりやすく解説します。 実装の流れ FlaskでMatplotlibのグラフを表示するまでの基本的な手順は以下の通りです。 小さなFlaskアプリケーションを作成する カレントディレクトリに移動し、環境変数を設定してアプリを起動する$ export FLASK_APP=file.py$ flask run ブラウザで http