Maison >développement back-end >Tutoriel Python >Apprenez à dessiner des dendrogrammes et des graphiques radar en Python en cinq minutes

Apprenez à dessiner des dendrogrammes et des graphiques radar en Python en cinq minutes

WBOY
WBOYoriginal
2023-09-27 12:48:301603parcourir

Apprenez à dessiner des dendrogrammes et des graphiques radar en Python en cinq minutes

Apprenez à dessiner des dendrogrammes et des graphiques radar avec Python en cinq minutes

Dans la visualisation de données, les dendrogrammes et les graphiques radar sont deux formes de graphiques couramment utilisées. Les arborescences sont utilisées pour afficher les structures hiérarchiques, tandis que les graphiques radar sont utilisés pour comparer les données sur plusieurs dimensions. Cet article expliquera comment dessiner ces deux graphiques à l'aide de Python et fournira des exemples de code spécifiques.

1. Dessiner des dendrogrammes

Il existe plusieurs bibliothèques en Python qui peuvent être utilisées pour dessiner des dendrogrammes, telles que matplotlib et graphviz. Ce qui suit utilise la bibliothèque matplotlib comme exemple pour montrer comment dessiner un diagramme arborescent.

Tout d'abord, nous devons installer la bibliothèque matplotlib. Vous pouvez utiliser la commande pip pour installer :

pip install matplotlib

Une fois l'installation terminée, vous pouvez utiliser le code suivant pour dessiner un arbre simple :

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()

Exécutez le code ci-dessus pour afficher un arbre simple à l'écran, où A sont les nœuds racine, B et C sont des nœuds enfants et D, E, F et G sont des nœuds feuilles.

2. Dessiner des cartes radar

Le dessin de cartes radar nécessite l'utilisation d'une autre sous-bibliothèque de la bibliothèque matplotlib, mpl_toolkits.mplot3d. Ce qui suit utilise la bibliothèque mpl_toolkits comme exemple pour montrer comment dessiner une carte radar.

Tout d'abord, nous devons installer la bibliothèque mpl_toolkits. Vous pouvez utiliser la commande pip pour installer :

pip install mpl_toolkits

Une fois l'installation terminée, vous pouvez utiliser le code suivant pour dessiner un graphique radar simple :

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()

Exécutez le code ci-dessus pour afficher un graphique radar simple à l'écran, où A , B, C , D et E sont des dimensions différentes et les valeurs sont les points de données des dimensions correspondantes.

Résumé

Grâce à l'introduction de cet article, nous avons appris à utiliser Python pour dessiner des dendrogrammes et des graphiques radar. Les arborescences sont utilisées pour afficher les structures hiérarchiques, tandis que les graphiques radar sont utilisés pour comparer les données sur plusieurs dimensions. Grâce aux fonctions et méthodes de la bibliothèque matplotlib et de la bibliothèque mpl_toolkits, nous pouvons facilement dessiner une variété d'arborescences et de graphiques radar pour obtenir un affichage visuel des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn