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

networkxとMatplotlibを使用して多部グラフを作成するにはどうすればよいですか?


networkx で多部グラフを作成するには、 次の手順を実行できます-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。

  • サブセットのサイズと色のリストを作成します。

  • 多層グラフオブジェクトを返すことができる多層グラフのメソッドを定義します。

  • ノードの色を設定します。

  • ノードを直線のレイヤーに配置します。

  • グラフを描くG Matplotlibを使用します。

  • 等しい軸のプロパティを設定します。

  • 図を表示するには、 show()を使用します メソッド。

import itertools
import matplotlib.pyplot as plt
import networkx as nx

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

subset_sizes = [5, 5, 4, 3, 2, 4, 4, 3]
subset_color = [
   "gold",
   "violet",
   "violet",
   "violet",
   "violet",
   "limegreen",
   "limegreen",
   "darkorange",
]

def multilayered_graph(*subset_sizes):
   extents = nx.utils.pairwise(itertools.accumulate((0,) + subset_sizes))
   layers = [range(start, end) for start, end in extents]
   G = nx.Graph()
   for (i, layer) in enumerate(layers):
      G.add_nodes_from(layer, layer=i)
   for layer1, layer2 in nx.utils.pairwise(layers):
      G.add_edges_from(itertools.product(layer1, layer2))
   return G

G = multilayered_graph(*subset_sizes)
color = [subset_color[data["layer"]] for v, data in G.nodes(data=True)]
pos = nx.multipartite_layout(G, subset_key="layer")
nx.draw(G, pos, node_color=color, with_labels=False)

plt.axis("equal")

plt.show()

出力

networkxとMatplotlibを使用して多部グラフを作成するにはどうすればよいですか?


  1. Pythonでmatplotlibを使用して、1つのページに複数のプロットを作成するにはどうすればよいですか?

    パンダを使用して、データフレームを作成し、図形と軸を作成できます。その後、散布法を使用して点を描画できます。 ステップ 生徒のリスト、生徒が取得したマーク、各スコアの色分けを作成します。 ステップ1のデータを使用して、PandaのDataFrameを使用してデータフレームを作成します。 subplotsメソッドを使用してfig変数とax変数を作成します。デフォルトのnrowsとncolsは1です。 plt.xlabel()メソッドを使用してX軸ラベルを設定します。 plt.ylabel()メソッドを使用してY軸ラベルを設定します。 マーカーのサイズや色を変え

  2. Matplotlibを使用して2つの点線をプロットし、マーカーを設定するにはどうすればよいですか?

    このプログラムでは、matplotライブラリを使用して2本の線をプロットします。コーディングを開始する前に、まず次のコマンドを使用してmatplotlibライブラリをインポートする必要があります- Import matplotlib.pyplot as plt Pyplotは、matplotlibをMATLABのように機能させるコマンドスタイル関数のコレクションです。 アルゴリズム Step 1: Import matplotlib.pyplot Step 2: Define line1 and line2 points. Step 3: Plot the lines using the p