【数据分析实战】(一)—— JOJO战力图

JOJO战力图

matplotlib作为一款可视化作图工具,在学习完一些简单的折线图、直方图等之后,学习雷达图的时候,我脑海里就浮现出了JOJO的替身战力图,这不就是典型的雷达图吗,接下来介绍如何使用matplotlib完成复刻jojo替身战力雷达图。

首先我们来观察一下原图长什么样子

图片中的标识用的是汉字和平假名/片假名等东方字符,默认的matplotlib不能正确显示这些字符,我们先修改字体为黑体宋体这种,此处选择黑体

PY 复制代码
plt.rcParams['font.sans-serif'] = 'SimHei'  

然后创建一个list用于存放这些维度标识符,方便后续在图中展示的时候直接读取

py 复制代码
dim =['メイド','破壊力', '成长性','精度動作性', '持続力','射程距離']

创建一个用于存放属性值的list,在matplotlib雷达图钟的属性值为0-100,白金之星的5A1C面板我们可以转换成值5个100和1个60

py 复制代码
val = [100,100,100,100,100,60]

设定雷达图的角度,即把一个圆分成几部分,此处直接利用维度的个数进行指定,endpoint=False让首尾衔接更自然

py 复制代码
angles = np.linspace(0, 2*np.pi, len(dim), endpoint=False)

将第一个数据点添加到最后一个,包括值和角度,让雷达图首尾相连

py 复制代码
val += val[:1]
angles = np.concatenate((angles, [angles[0]]))

创建雷达图

py 复制代码
# 雷达图
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
ax.fill(angles, val, color='skyblue', alpha=0.5)

ax.set_thetagrids(angles[:-1] * 180/np.pi, dim)
# ax.set_yticklabels([])  # 隐藏半径刻度标签
new_ticks = [0, 20, 40 ,60,80,100]
ax.set_rticks(new_ticks) 
# 添加标题
plt.title('空条承太郎战力', size=20, y=1.1)

完整代码如下:

py 复制代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# 让图片中可以显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'   

dim =['メイド','破壊力', '成长性','精度動作性', '持続力','射程距離']

val = [100,100,100,100,100,60]

angles = np.linspace(0, 2*np.pi, len(dim), endpoint=False)

# 保证首尾相连
val += val[:1]
angles = np.concatenate((angles, [angles[0]]))

# 雷达图
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
ax.fill(angles, val, color='skyblue', alpha=0.5)

ax.set_thetagrids(angles[:-1] * 180/np.pi, dim)
# ax.set_yticklabels([])  # 隐藏半径刻度标签
new_ticks = [0, 20, 40 ,60,80,100]
ax.set_rticks(new_ticks) 
# 添加标题
plt.title('空条承太郎战力', size=20, y=1.1)
plt.show()

【运行结果】

相关推荐
大只因bug7 分钟前
基于Hadoop的热门旅游景点推荐数据分析与可视化系统(基于Django大数据技术的热门旅游景点数据分析与可视化)
大数据·hadoop·数据分析·旅游景点可视化分析系统·热门旅游景点推荐系统·旅游景点分析与可视化系统·hadoop智能推荐系统
神秘的土鸡2 小时前
如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)
人工智能·机器学习·自然语言处理·数据分析·llama·wps
永洪科技7 小时前
解锁数据潜能,永洪科技以数据之力简化中粮可口可乐决策之路
大数据·数据分析·数据可视化·bi
RisingWave中文开源社区14 小时前
如何选择适合的实时数据处理平台?主流产品深入对比
数据库·后端·数据分析
康谋自动驾驶14 小时前
康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术
人工智能·科技·3d·数据分析·自动驾驶·汽车
善木科研14 小时前
R语言绘图:韦恩图
数据分析·r语言·生物信息·生信分析
十三画者17 小时前
【工具】COME对比映射学习用于scRNA-seq数据的空间重构
python·数据挖掘·数据分析
跨境IT全栈工程师17 小时前
使用Python自动生成图文并茂的网页分析报告
开发语言·python·信息可视化·数据分析·网页生成
扫地僧98518 小时前
基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)
人工智能·分类·数据挖掘
Y1nhl1 天前
数据挖掘校招面经二
人工智能·python·深度学习·算法·机器学习·数据挖掘