雷達圖,又叫蜘蛛圖,說到蜘蛛,我就想到黑寡婦,說到黑寡婦,我就想到黑百合,說到黑百合,我就想到形象和她比較相反的天使,所以本文用雷達圖來比較下黑百合和天使這兩個英雄的數據。
第一步:安裝並導入相關包
主要用到了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小鎮 的文章