ホームページ  >  記事  >  バックエンド開発  >  5 分で Python で樹状図とレーダー チャートを描画する方法を学びます

5 分で Python で樹状図とレーダー チャートを描画する方法を学びます

WBOY
WBOYオリジナル
2023-09-27 12:48:301566ブラウズ

5 分で Python で樹状図とレーダー チャートを描画する方法を学びます

Python を使用して 5 分でデンドログラムとレーダー チャートを描画する方法を学習します

データ視覚化では、デンドログラムとレーダー チャートが一般的に使用される 2 つのチャート形式です。ツリーマップは階層構造を表示するために使用され、レーダー チャートは複数の次元にわたるデータを比較するために使用されます。この記事では、Python を使用してこれら 2 つのグラフを描画する方法と、具体的なコード例を紹介します。

1. 樹状図の描画

Python には、matplotlib やgraphviz など、樹状図の描画に使用できるライブラリが複数あります。以下では、例として matplotlib ライブラリを使用して、樹状図を描画する方法を示します。

まず、matplotlib ライブラリをインストールする必要があります。 pip コマンドを使用してインストールできます。

pip install matplotlib

インストールが完了したら、次のコードを使用して単純なツリー図を描画できます。

import matplotlib.pyplot as plt

# 创建数据
data = {'A': ['B', 'C'],
        'B': ['D', 'E'],
        'C': ['F', 'G']}

# 递归函数,遍历数据字典,并绘制树状图
def plot_tree(data, parent=None, depth=0):
    for node in data.get(parent, []):
        plt.plot([parent, node], [depth, depth + 1], 'bo-')  # 绘制节点连接线
        plot_tree(data, node, depth + 1)  # 递归调用,遍历子节点

# 绘制树状图
plot_tree(data)
plt.show()

上記のコードを実行して、単純なツリー図を表示します。画面上のツリー図 A がルート ノード、B と C が子ノード、D、E、F、G がリーフ ノードであるツリー図。

2. レーダー チャートの描画

レーダー チャートを描画するには、matplotlib ライブラリの別のサブライブラリ mpl_toolkits.mplot3d を使用する必要があります。以下では、例として mpl_toolkits ライブラリを使用して、レーダー チャートを描画する方法を示します。

まず、mpl_toolkits ライブラリをインストールする必要があります。 pip コマンドを使用してインストールできます:

pip install mpl_toolkits

インストールが完了したら、次のコードを使用して簡単なレーダー チャートを描画できます:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# 创建数据
labels = ['A', 'B', 'C', 'D', 'E']
values = np.random.randint(1, 10, len(labels))

# 绘制雷达图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(np.cos(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
        np.sin(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
        np.zeros(len(labels)), 'k-')  # 绘制雷达图主轴
ax.fill_between(np.cos(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
                np.sin(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
                np.zeros(len(labels)), alpha=0.25)  # 绘制雷达图背景

ax.plot(np.cos(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
        np.sin(np.linspace(0, 2*np.pi, len(labels)+1))[:-1],
        values, 'bo-')  # 绘制雷达图数据点

# 设置坐标轴标签
ax.set_xticks(np.cos(np.linspace(0, 2*np.pi, len(labels)+1))[:-1])
ax.set_yticks(np.sin(np.linspace(0, 2*np.pi, len(labels)+1))[:-1])
ax.set_xticklabels(labels)
ax.set_yticklabels([])

plt.show()

上記のコードを実行すると、簡単なレーダー チャートが表示されます。画面上のレーダー図。A、B、C、D、E は異なる次元であり、値は対応する次元のデータ ポイントです。

概要

この記事の導入部を通じて、Python を使用して樹状図とレーダー チャートを描画する方法を学びました。ツリーマップは階層構造を表示するために使用され、レーダー チャートは複数の次元にわたるデータを比較するために使用されます。 matplotlib ライブラリと mpl_toolkits ライブラリの関数とメソッドを使用すると、さまざまな樹形図やレーダー チャートを簡単に描画して、データを視覚的に表示できます。

以上が5 分で Python で樹状図とレーダー チャートを描画する方法を学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。