程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

用Python画雷达图,分析多指标数据

hfteth 2024-12-12 10:45:28 技术文章 36 ℃

雷达图,又叫蜘蛛图,说到蜘蛛,我就想到黑寡妇,说到黑寡妇,我就想到黑百合,说到黑百合,我就想到形象和她比较相反的天使,所以本文用雷达图来比较下黑百合和天使这两个英雄的数据。


第一步:安装并导入相关包

主要用到了pyecharts这个包,需要注意的是不同版本的pyecharts,代码会有出入,本文安装的是1.7.1版本

pip install pyecharts

安装完成后导入

from pyecharts import options as opts
from pyecharts.charts import Radar


第二步:准备数据

下面是我随便定义的两个英雄的战斗数据,先不用管数据中每个值代表什么指标,会在下面第三步中添加。

这里需要注意的是数据必须是二维的,不然会集中在一个指标上显示。

value1 = [[8500, 6000, 450, 100, 80, 1000]]
value2 = [[2000, 8000, 450, 400, 70, 4900]]


第三步:画图

以下步骤中的参数都比较好懂,就不细讲了,大家可以通过改变每个参数的值,观察变化效果,就清楚了。

1)先定义一个类

randar = Radar()

2)添加schema架构,其实就是添加需要呈现的指标,并规定每个指标的最大值和最小值。

randar.add_schema(schema=[opts.RadarIndicatorItem(name="输出伤害", max_=10000),
                          opts.RadarIndicatorItem(name="承受伤害", max_=10000),
                          opts.RadarIndicatorItem(name="存活时间", max_=500),
                          opts.RadarIndicatorItem(name="目标攻防时间", max_=500),
                          opts.RadarIndicatorItem(name="武器命中率", max_=100),
                          opts.RadarIndicatorItem(name="治疗量", max_=5000)])

3)添加数据

randar.add("黑百合", value1, color="black", areastyle_opts=opts.AreaStyleOpts(opacity=0.3, color="black"),)
randar.add("天使", value2, color="red", areastyle_opts=opts.AreaStyleOpts(opacity=0.3, color="red"),)

4)其它选项设置

randar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
randar.set_global_opts(title_opts=opts.TitleOpts(title="英雄数据对比"))

5)生成html文件

randar.render('英雄数据对比.html')


打开生成的html文件,如下:


关注微信公众号“Python小镇”,发现更多干货知识!

最近发表
标签列表