>  기사  >  백엔드 개발  >  5분 안에 Python으로 덴드로그램과 방사형 차트를 그리는 방법을 알아보세요.

5분 안에 Python으로 덴드로그램과 방사형 차트를 그리는 방법을 알아보세요.

WBOY
WBOY원래의
2023-09-27 12:48:301567검색

5분 안에 Python으로 덴드로그램과 방사형 차트를 그리는 방법을 알아보세요.

5분 안에 Python으로 덴드로그램과 방사형 차트를 그리는 방법을 알아보세요.

데이터 시각화에서 덴드로그램과 방사형 차트는 일반적으로 사용되는 두 가지 차트 형식입니다. 트리맵은 계층 구조를 표시하는 데 사용되는 반면 방사형 차트는 여러 차원에 걸쳐 데이터를 비교하는 데 사용됩니다. 이 기사에서는 Python을 사용하여 이 두 차트를 그리는 방법을 소개하고 구체적인 코드 예제를 제공합니다.

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

위 코드를 실행하여 화면에 간단한 트리 다이어그램을 표시합니다. 는 루트 노드이고, 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()

위 코드를 실행하면 화면에 간단한 방사형 차트가 표시됩니다. , B, C, D, E는 서로 다른 차원이며 값은 해당 차원의 데이터 포인트입니다.

요약

이번 글의 소개를 통해 우리는 Python을 사용하여 덴드로그램과 방사형 차트를 그리는 방법을 배웠습니다. 트리맵은 계층 구조를 표시하는 데 사용되는 반면 방사형 차트는 여러 차원의 데이터를 비교하는 데 사용됩니다. matplotlib 라이브러리와 mpl_toolkits 라이브러리의 기능과 메소드를 통해 다양한 트리 다이어그램과 레이더 차트를 쉽게 그려 데이터를 시각적으로 표시할 수 있습니다.

위 내용은 5분 안에 Python으로 덴드로그램과 방사형 차트를 그리는 방법을 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.