用Python畫雷達圖,分析多指標數據

雷達圖,又叫蜘蛛圖,說到蜘蛛,我就想到黑寡婦,說到黑寡婦,我就想到黑百合,說到黑百合,我就想到形象和她比較相反的天使,所以本文用雷達圖來比較下黑百合和天使這兩個英雄的數據。

用Python畫雷達圖,分析多指標數據


第一步:安裝並導入相關包

主要用到了pyecharts這個包,需要注意的是不同版本的pyecharts,代碼會有出入,本文安裝的是1.7.1版本

<code>pip install pyecharts/<code>

安裝完成後導入

<code>from pyecharts import options as opts
from pyecharts.charts import Radar/<code>


第二步:準備數據

下面是我隨便定義的兩個英雄的戰鬥數據,先不用管數據中每個值代表什麼指標,會在下面第三步中添加。

這裡需要注意的是數據必須是二維的,不然會集中在一個指標上顯示。

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


第三步:畫圖

以下步驟中的參數都比較好懂,就不細講了,大家可以通過改變每個參數的值,觀察變化效果,就清楚了。

1)先定義一個類

<code>randar = Radar()/<code>

2)添加schema架構,其實就是添加需要呈現的指標,並規定每個指標的最大值和最小值。

<code>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)])/<code>

3)添加數據

<code>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"),)/<code>

4)其它選項設置

<code>randar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
randar.set_global_opts(title_opts=opts.TitleOpts(title="英雄數據對比"))/<code>

5)生成html文件

<code>randar.render('英雄數據對比.html')/<code>


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

用Python畫雷達圖,分析多指標數據


關注微信公眾號“Python小鎮”,發現更多幹貨知識!


分享到:


相關文章: