ホームページ  >  記事  >  Java  >  Python で Networkx を使用して完全なグラフを描画する

Python で Networkx を使用して完全なグラフを描画する

王林
王林転載
2023-09-06 16:21:121162ブラウズ

###############導入###

グラフ理論で最も重要な考え方の 1 つは、グラフ全体の考え方です。それは「ノード」と呼ばれる「点」で構成されており、それらはすべて「エッジ」によって接続されています。言い換えれば、より多くのリンクがあります。完全なグラフは、コンピューター ネットワーク、ソーシャル ネットワーク、最適化問題の解決など、多くの分野で重要です。 Python で Networkx を使用して完全なグラフを描画する

Networkx は、プログラマーやデータ サイエンティストが複雑なグラフを簡単に処理して表示できるようにする強力な Python ツールです。ユーザーは、Networkx の使いやすいインターフェイスと多くの機能を使用して、図を簡単に作成、編集、視覚化、移動できます。そのため、これはグラフ理論の豊かな世界を理解し、それをデータ構造やその他の領域にどのように適用できるかを理解するための重要なツールです。

ネットワークのインストールx

Networkx は、最もよく知られた 2 つのパッケージ マネージャーを使用して Python に追加できます。それらを構築するために使用されるパッケージは、pip および conda と呼ばれます。とにかく、Networkx を稼働させるために必要なのはこれだけです -

pip の使用 (Windows の場合)

コマンド ライン インターフェイス (Windows のコマンド プロンプト、Mac OS/Linux のターミナルなど) を開きます。

    Python がシステムにインストールされていることを確認してください。これを確認するには、コマンドラインから python --version を実行します。
  • pip install --upgrade pip を実行して、pip を最新バージョンに更新します。
  • Networkx をインストールするには、「pip install networkx」と入力して Enter キーを押します。
  • pip は、Networkx とその依存関係の最新バージョンを自動的にダウンロードしてインストールします
  • conda の使用 (Mac 用)

Anaconda または Miniconda がインストールされている場合は、ターミナルまたは Anaconda プロンプトを開きます。

    Anaconda または Miniconda をお持ちでない場合は、公式 Web サイト (https://www.anaconda.com/products/individual) から適切なバージョンをダウンロードしてインストールしてください。
  • Anaconda プロンプトを開いた後、次のコマンドを実行します: conda -c conda-forge networkx をインストールします。
  • conda は依存関係を解決し、システムに Networkx をインストールします。
  • 上記の手順のいずれかを完了すると、Networkx がコンピュータに正常にインストールされ、これを使用して Python でグラフを生成および分析できるようになります。
  • インストールを確認するには、「import networkx」と入力して、Networkx を Python 対話型シェルまたはスクリプトに統合します。エラーがなければ、インストールは成功しており、Networkx を使用してさまざまなグラフ関連のタスクとアルゴリズムを調べることができます。

    完全なグラフを作成する
Networkx を使用すると、グラフ全体を簡単に構築できます。完全なグラフとは、一意のエッジが一意のノードのすべてのペアを接続しているグラフです。 Networkx の complete_graph() メソッドを使用して、グラフ全体を構築できます。グラフ内のノードの数は、5 つのノードで構成されるグラフ全体を生成する方法を示しています。 リーリー

ノードとエッジを追加する

Networkx を使用すると、グラフがいっぱいかどうかに関係なく、グラフにノードとリンクを簡単に追加できます。 add_node() メソッドを使用し、ノード名を入力として受け取り、単一のノードを追加します。例として -

Python コード

リーリー

add_nodes_from() メソッドはノード ラベルのリストをパラメーターとして受け取ります。これにより、複数のノードを一度に追加できます。エッジを含める方法も同様です。 add_edge() メソッドを使用して、ノード 1 と 2 の間のリンクを確立します -

Python コード

リーリー

タプルのリスト (各タプルは 2 つのノード間のエッジを表します) を add_edges_from() メソッドに渡して、複数のエッジを一度に追加できます。

Python コード

リーリー

Networkx では、重みやラベルなどの追加プロパティを使用してエッジをカスタマイズすることもできます。これは、多くのグラフベースの使用例で役立ちます。

完全なチャートを視覚化する

チャートの構造とプロパティを理解するには、全体を視覚化する必要があります。 Networkx は Matplotlib ツールキットと連携して動作し、グラフの視覚化を簡単にします。 Networkx のdraw() メソッドを使用すると、包括的なグラフを作成できます -

Python コード

リーリー

グラフィックス情報へのアクセス

Networkx は、図全体の重要な詳細を取得するためのさまざまな方法を提供します。たとえば、nodes() メソッドを使用してノードのリストを取得できます -

Python コード

リーリー

edges() メソッドを使用してエッジ リストを取得できます

Python コード

リーリー

Degree() メソッドを使用してノードの次数分布を取得することもできます。これにより、キーとしてノード、値として次数を含む辞書が得られます。

Python コード

リーリー

この情報を見ることで、グラフ全体の構造とプロパティについて多くのことを学ぶことができます。これは、グラフを使用する多くのメソッドやアプリケーションにとって重要です。

###アプリ###

完全な図は、すべてがどのようにリンクされているかを示すため、現実の世界で多くの用途があります。また、複雑な関係を理解するための良い方法でもあります。

ソーシャル ネットワーク - 小さな社会グループ内の人々がどのように相互に接続されているかを示す完全な図。これは基本的に小さな町や友達のグループで使用されます

  • 交通システム - すべての場所間の明確な接続を備え、完全な図で表示される完全な交通ネットワーク。最適なアプローチを見つけてインフラストラクチャを計画するのに役立ちます

  • コンピュータ ネットワーク - ネットワーク内のすべてのガジェットは、完全な図で相互に直接通信できます。これらは、データの送信方法とエラーの処理方法を人々が理解するのに役立ちます。

  • ###結論は###

    要約すると、Networkx を使用して Python で完全なグラフを操作すると、データ構造とグラフ理論のオプションのまったく新しい世界が開かれます。 Networkx は、完全な図を作成、表示、検査するための使いやすく効率的な方法を提供します。完全なグラフは、完全に接続されたネットワークの複雑さを理解するために重要であり、現実の多くの状況で役立ちます。完全な図は、ソーシャル ネットワークから交通システム、コンピュータ ネットワークに至るまで、あらゆるものにおいて接続と速度がどのように影響するかを示しています。 Networkx の機能を利用することで、開発者や研究者はより多くのことを学び、システム設計を改善し、さまざまな分野の困難な問題を解決できます。グラフベースのデータ分析に興味がある人は誰でも、Python と Networkx を使用して完全なグラフを表示すると有益であることがわかります。

    以上がPython で Networkx を使用して完全なグラフを描画するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。