数据可视化---饼图、环形图、雷达图

2023-12-16 23:06:55
  • 饼状图:展示了四个类别(A, B, C, D)的数据,每个类别的比例标注在图中。
  • 环形图:与饼状图使用相同的数据,但采用环形设计,以不同的视觉风格呈现相同的信息。
  • 雷达图:展示了六个不同指标(Metric 1 至 Metric 6)的数据,以雷达图的形式展现每个指标的数值。
    这些图表可以根据您的数据和需求进行调整,以便更好地呈现信息。您可以改变数据集、标签和标题来自定义这些图表。 ?
import matplotlib.pyplot as plt
import numpy as np

def plot_pie_chart(data, labels, title="Pie Chart"):
    """
    绘制饼状图。
    
    :param data: 包含数值的列表。
    :param labels: 与数据相对应的标签列表。
    :param title: 图表的标题。
    """
    fig, ax = plt.subplots()
    ax.pie(data, labels=labels, autopct='%1.1f%%', startangle=140)
    ax.axis('equal')  # Equal aspect ratio ensures the pie chart is circular.
    plt.title(title)
    plt.show()

# 示例数据
pie_data = [35, 25, 25, 15]
pie_labels = ['Category A', 'Category B', 'Category C', 'Category D']

# 绘制图表
plot_pie_chart(pie_data, pie_labels, title="Example Pie Chart")

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

def plot_donut_chart(data, labels, title="Donut Chart"):
    """
    绘制环形图。
    
    :param data: 包含数值的列表。
    :param labels: 与数据相对应的标签列表。
    :param title: 图表的标题。
    """
    fig, ax = plt.subplots()
    ax.pie(data, labels=labels, autopct='%1.1f%%', startangle=140, pctdistance=0.85)
    
    # Draw a circle at the center of pie to make it look like a donut
    centre_circle = plt.Circle((0,0),0.70,fc='white')
    fig = plt.gcf()
    fig.gca().add_artist(centre_circle)
    
    ax.axis('equal')  # Equal aspect ratio ensures the pie chart is circular.
    plt.title(title)
    plt.show()

# 示例数据
pie_data = [35, 25, 25, 15]
pie_labels = ['Category A', 'Category B', 'Category C', 'Category D']

# 绘制图表
plot_donut_chart(pie_data, pie_labels, title="Example Donut Chart")

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

def plot_radar_chart(data, labels, title="Radar Chart"):
    """
    绘制雷达图。
    
    :param data: 包含数值的列表。
    :param labels: 与数据相对应的标签列表。
    :param title: 图表的标题。
    """
    num_vars = len(labels)
    angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()
    data += data[:1]
    angles += angles[:1]

    fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
    ax.fill(angles, data, color='blue', alpha=0.25)
    ax.plot(angles, data, color='blue', linewidth=2)  # Draw the outline of our data
    ax.set_yticklabels([])
    ax.set_xticks(angles[:-1])
    ax.set_xticklabels(labels)

    plt.title(title, y=1.1)
    plt.show()

# 示例数据
radar_data = [4, 5, 6, 3, 2, 5]
radar_labels = ['Metric 1', 'Metric 2', 'Metric 3', 'Metric 4', 'Metric 5', 'Metric 6']

# 绘制图表
plot_radar_chart(radar_data, radar_labels, title="Example Radar Chart")

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_41620184/article/details/135038613
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。