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

更新関数を使用してMatplotlibでNetworkXグラフをアニメーション化する方法は?


更新を使用するには NetworkXをアニメーション化する関数 Matplotlibのグラフでは、次の手順を実行できます-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。
  • figure()を使用して、新しいフィギュアを作成するか、既存のフィギュアをアクティブにします メソッド。
  • エッジ、名前、グラフの属性を使用してグラフを初期化します。
  • add_nodes_from()を使用してグラフにノードを追加します メソッド。
  • グラフを描くG Matplotlibを使用します。
  • FuncAnimation()を使用します 関数animate。を繰り返し呼び出してアニメーションを作成するクラス
  • 機能アニメーション 現在の数字をクリアし、2つの乱数を生成し、それらの間にエッジを描画します。
  • 図を表示するには、 show()を使用します メソッド。

from matplotlib import pyplot as plt, animation
import networkx as nx
import random

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

fig = plt.figure()

G = nx.DiGraph()
G.add_nodes_from([0, 1, 2, 3, 4])

nx.draw(G, with_labels=True)

def animate(frame):
   fig.clear()
   num1 = random.randint(0, 4)
   num2 = random.randint(0, 4)
   G.add_edges_from([(num1, num2)])
   nx.draw(G, with_labels=True)

ani = animation.FuncAnimation(fig, animate, frames=6, interval=1000, repeat=True)

plt.show()

出力

更新関数を使用してMatplotlibでNetworkXグラフをアニメーション化する方法は?


  1. Matplotlibで回転する3Dグラフをアニメーション化する

    matplotlibで回転する3Dグラフを作成するには、アニメーションを使用できます。 関数を繰り返し呼び出すためのクラス。 ステップ メッシュグリッドの数、関数を呼び出すための1秒あたりの頻度、フレーム番号の変数を初期化します。 曲線のx、y、z配列を作成します。 ラムダ関数を使用してz配列を作成する関数を作成します。 関数をアニメーションクラスに渡すには、ユーザー定義関数を作成して前のプロットを削除し、x、y、zarrayを使用してサーフェスをプロットします。 新しいフィギュアを作成するか、既存のフィギュアをアクティブにします。 subplots()メソ

  2. Matplotlibでpcolormeshをアニメーション化する方法は?

    pcolormeshをアニメーション化するには matplotlibでは、次の手順を実行できます- 図とサブプロットのセットを作成します。 numpy を使用してx、y、tデータポイントを作成します 。 X3を作成します 、 Y3 およびT3、メッシュグリッドを使用して座標ベクトルから座標行列を返します。 pcolormesh()を使用して、不規則な長方形グリッドで疑似カラープロットを作成します メソッド。 colormeshでカラーバーを作成する 軸。 pcolormeshをアニメーション化する Animation()を使用する クラスメソッ