雷达图概述以及实例

一.雷达图概述

1.何为雷达图

    雷达图,是一种展现多维度数据间相对重要性或程度的可视化图形。以中心点为起点,从该中心点向外延伸出多条射线,每条射线代表一个特定的变量或指标。射线上的点或线段则根据该变量的具体数值进行定位,从而形成一个多维度的数据视图。这种图形结构类似雷达扫描的视觉效果,使得观察者能够迅速捕捉到数据点的综合特征及其在各维度上的表现差异。

2.雷达图的构成要素

(1)中心点:图的中心,所有射线的起点。
(2)射线:从中心点向外延伸的线段,每条射线代表一个独立的变量或指标。
(3)轴标签:每条射线上的轴标签表示指标名称,位于射线末端。
(4)数据点或线段:每个变量在不同维度上的数值,位于每条射线上。
(5)数据区域:由数据点或线段连接而成的区域,代表了各个变量在不同维度上的表现。

二.实例(以Excel、Python为例 )

1.Excel(2021版)

数据如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Python

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

## 这里需要用到字体,使用可商用的字体,避免侵权
dataset = pd.DataFrame(data=[[5, 6, 8, 6, 7],
[9, 6, 5, 7, 6],
[4, 8, 9, 8, 7],
[7, 8, 6, 7, 8],
[8, 7, 6, 7, 6]],
index=['表达与沟通', '团队合作','分析与综合信息 ','创新思维','批判性思维'],
columns=['金融学院','文化传媒学院','信息学院 ','管理学院 ','人文教育学院'])
radar_labels=dataset.index
nAttr=5
data=dataset.values #数据值
data_labels=dataset.columns
# 设置角度
angles=np.linspace(0,2*np.pi,nAttr,
endpoint= False)
data=np.concatenate((data, [data[0]]))
angles=np.concatenate((angles, [angles[0]]))
# 设置画布
fig=plt.figure(facecolor="white",figsize=(10,6))
plt.subplot(111, polar=True)
# 绘图
plt.plot(angles,data,'o-',
linewidth=1.5, alpha= 0.2)
# 填充颜色
plt.fill(angles,data, alpha=0.25)
plt.thetagrids(angles[:-1]*180/np.pi,
radar_labels,1.2)
plt.figtext(0.52, 0.95,'大学生通识能力分析',
ha='center', size=20)
# 设置图例
legend=plt.legend(data_labels,
loc=(1.1, 0.05),
labelspacing=0.1)
plt.setp(legend.get_texts(),
fontsize='large')
plt.grid(True)
# plt.savefig('tongshi.png')
plt.show()

在这里插入图片描述

参考链接1:https://blog.csdn.net/weixin_50236590/article/details/141461840
参考链接2:https://baijiahao.baidu.com/s?id=1703953837642856405&wfr=spider&for=pc

ECharts 是一个由百度开源的基于 JavaScript 的数据可视化库,广泛应用于前端数据分析和可视化的场景。其中,ECharts 提供了丰富的图表类型,包括折线图、柱状图、饼图、散点图等,同时也支持自定义图表类型。ECharts 的灵活性允许用户通过配置 JSON 数据结构来自定义各种复杂图形,例如雷达图。 ### 雷达图概述 雷达图,又称蜘蛛图或多维数据图表,是一种用于展示多维度属性的数据集。它将各个指标沿圆周分布,并将每个样本或实体的各项指标值绘制到对应的轴上。雷达图能够直观地比较不同样本在多个维度之间的差异,特别适用于比较和分析多个指标之间的相对重要性和分布情况。 ### ECharts雷达图顺时针展示 在 ECharts 中创建雷达图并通过配置使其按顺时针方向展示需要关注以下几个关键步骤: #### 1. 初始化 Chart 实例 首先,在 HTML 文件中包含 ECharts 的 CSS 和 JS 文件,然后初始化一个容器元素作为绘制图表的区域。例如: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ECharts Radar Chart</title> <!-- 引入 ECharts --> <script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script> </head> <body> <div id="main" style="width:600px;height:400px;"></div> <script> // 初始化 chart 实例 var myChart = echarts.init(document.getElementById('main')); </script> </body> </html> ``` #### 2. 数据准备 定义数据结构,通常包括描述各维度名称的数组 `dimensionNames` 和对应每个样本的多维数值数组 `dataSets`。对于顺时针展示,只需要调整配置即可。 ```javascript var dimensionNames = ['维度一', '维度二', '维度三', '维度四', '维度五']; var dataSets = [ [70, 80, 90, 50, 85], // 样本 A 的五个维度值 [60, 85, 75, 70, 90] // 样本 B 的五个维度值 ]; ``` #### 3. 配置并渲染雷达图 使用 ECharts 的配置项 `radar` 来指定雷达图的布局、分隔线以及数据集。设置 `indicator` 属性以定义坐标轴标签,并通过 `shape` 属性指定线条形状(如正弦曲线),最后通过 `series` 添加数据集并设置分类名称。 ```javascript var option = { title: { text: '雷达图示例', subtext: '顺时针展示' }, tooltip: {}, radar: { indicator: dimensionNames.map(function(item) { return { name: item }; }), shape: 'circle', splitArea: { show: true, areaStyle: { color: 'rgba(0, 0, 255, 0.05)' } } }, series: [{ type: 'radar', data: [dataSets], label: { normal: { position: 'center', formatter: '{b}:{c}%' } }, lineStyle: { width: 2, type: 'solid' } }] }; myChart.setOption(option); ``` ### 相关问题 1. **如何自定义雷达图的颜色和样式?** 2. **雷达图如何添加数据标签和显示具体的数值?** 3. **在 ECharts 中如何动态更新雷达图的数据?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值