python绘制雷达图

使用了《方舟指令》中角色洛天依、乐正绫的属性数据

数据写在代码中,数据来源:

洛天依(游戏《方舟指令》中的角色)_百度百科

乐正绫(游戏《方舟指令》中的角色)_百度百科

评级与数值转换关系:

评级CBB+AA+SSS
数值1234567

数据整理:

3,5,3,4,6,4
4,3,6,5,3,5

 代码:

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

tag = ['生命', '速度', '物攻', '物防', '魔攻', '魔防']  # 标签
theta = np.linspace(0, 2 * np.pi, len(tag), endpoint=False)  # 将圆根据标签的个数等比分
tag = np.concatenate((tag,[tag[0]]))  # 解决报错
value_lty = [3,5,3,4,6,4]  # 洛天依数据
value_yzl = [4,3,6,5,3,5]  # 乐正绫数据
theta = np.concatenate((theta, [theta[0]]))  # 闭合
value_lty = np.concatenate((value_lty, [value_lty[0]]))  # 闭合
value_yzl = np.concatenate((value_yzl, [value_yzl[0]]))  # 闭合

ax = plt.subplot(111, projection='polar')  # 构建图例
ax.plot(theta, value_lty, "#66CCFF", lw=1, alpha=0.75)  # 绘洛天依图
ax.plot(theta, value_yzl, "#FF0000", lw=1, alpha=0.75)  # 绘乐正绫图
ax.fill(theta, value_lty, "#66CCFF", alpha=0.35)  # 填充
ax.fill(theta, value_yzl, "#FF0000", alpha=0.35)  # 填充
plt.thetagrids(theta * 180 / np.pi, tag)  # 替换标签名称
ax.set_ylim(1, 7)  # 设置极轴的区间
plt.yticks([1, 2, 3, 4, 5, 6, 7], ['C', 'B', 'B+', 'A', 'A+', 'S', 'SS'])  # 设置y轴刻度名称

ax.set_theta_zero_location('N')  # 设置极轴方向
ax.set_title('六维图', fontsize=20)  # 添加图描述

plt.legend(['洛天依', '乐正绫'], loc='best')  # 添加图例

plt.show()

输出结果:

参考资料:

Python笔记—matplotlib雷达图_assassin_sword的博客-CSDN博客

雷达图 The number of FixedLocator locations (13), usually from a call to set_ticks, does not match the_小张快冲-CSDN博客

Python绘制雷达图 - 酸菜鱼学Python - 博客园

Matplotlib:设置坐标轴范围,刻度,位置,自定义刻度名称,添加数据标签_错位的梦寐的博客-CSDN博客_matplotlib坐标轴名称位置

Python matplotlib.pyplot 模块,yticks() 实例源码 - 编程字典

matplotlib指定绘图颜色的八种方式——python篇 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值