python-pyecharts雷达图

2022-5-26有客户要求对英雄联盟人物属性做分析,一个雷达图显示多人信息及可以对比

️简单介绍背景+前十名战力+各个位置的前十名战力️各个英雄的五边形战力️dashboard展示大家的战力(讲一下曲折的过程)️dashboard展示各个位置英雄的战力对比

 

 表格数d

序号位置英雄血量血量赋分蓝量蓝量赋分攻击攻击赋分防御防御赋分移速移速赋分
27刺客33008444070171801356540095
3坦克程咬金325074050170802009539090
15战士马可波罗 304149050176801577539090
13战士阿珂326979050150701517539090
25刺客赵云33668943065169751487039090
16战士庄周31465942060164751487039090
20战士太乙真人32748042060166751457039090
4坦克吕布356498050178801899038085
56辅助周瑜 30935349095156701597538085
7坦克蒙恬 307951050185851577538085
51辅助妲己32898349095166751577538085
11战士云中君319064050165751517538085
5坦克司空震330084050175801507538085
9坦克李信347094050181851497038085
17战士刘禅33648842060159701497038085
28刺客百里守约30194644070172801427038085
60辅助钟馗35019649095192901417038085
21刺客钟无艳33388643065167751407038085
18战士项羽30455042060182851396538085
24刺客韩信31135443065177801396538085
59辅助伽罗31736249095154701396538085
30刺客狄仁杰32427344070173801376538085
26刺客33879044070173801366538085
29刺客鲁班七号34019244070173801346538085
1坦克廉颇313558050207951768537080
14战士艾琳313557050168751658037080
19战士鲁班大师 34179342060176801567537080
8坦克亚瑟362299050200951537537080
6坦克夏洛特326778050179801527537080
53辅助赢政31255649095162751497037080
39法师李白29684345075163751487037080
49射手金蝉31686149095184851447037080
2坦克白起304048050183851447037080
23刺客夏侯惇32216743065179801376537080
12战士司马懿319665050168751356537080
55辅助甄姬 31496049095180851497036075
31法师后羿32326944070166751467036075
58辅助小乔30885249095159701467036075
45射手牛魔35379747085169751457036075
40法师娜可露露32397245075153701457036075
54辅助武则天30194549095168751437036075
44射手大乔31776347085174801386536075
37法师盾山33618745075165751376536075
52辅助安琪拉33238549095162751376536075
38法师哪吒34839545075160751376536075
47射手蔡文姬32387147085175801366536075
41射手兰陵王33008445075170801366536075
33法师成吉思汗30274744070170801366536075
34法师虞姬29774444070170801336536075
10坦克狂铁326376050163751497035070
57辅助高渐离31225549095176801487035070
36法师明世隐32557544070173801457035070
42射手32647746080188851447035070
48射手苏烈32848247085187851417035070
46射手孙膑32808147085175801417035070
22刺客云缨32377043065166751417035070
35法师25874244070157701417035070
32法师黄忠32266844070156701407035070
43射手东皇太一32016647085184851346535070
50射手上官婉儿33899149095165751346535070

雷达图代码:

import pyecharts.options as opts
from pyecharts.charts import Radar
import pandas as pd
df = pd.read_excel("WZRY.xlsx")
hero = df['英雄']   #标签
print(len(hero))
title = ['蓝量赋分', '血量赋分', '攻击赋分', '防御赋分', '移速赋分', '蓝量赋分']  # 标签

# 从data查询A6 数据
scores = pd.DataFrame({'英雄':hero})

scores1 = scores.merge(df,how='left',on='英雄')[['蓝量赋分', '血量赋分', '攻击赋分', '防御赋分', '移速赋分']]
#print(scores1)
# 转换为list
scores2 = scores1.values.tolist()
print(type(scores2[0]))
v1=[]
v1.append(scores2[0])
print(v1)
print(type(v1))
v2 =[]
v2.append(scores2[1])

for i in range(len(hero)):
    print(i)
radar=Radar()


Radar(init_opts=opts.InitOpts(width="1280px", height="1520px", bg_color="#CCCCCC"))
radar.add_schema(
        schema=[
            opts.RadarIndicatorItem(name="蓝量赋分"),
            opts.RadarIndicatorItem(name="血量赋分"),
            opts.RadarIndicatorItem(name="攻击赋分"),
            opts.RadarIndicatorItem(name="防御赋分"),
            opts.RadarIndicatorItem(name="移速赋分"),

        ],

    )

for i in range(len(hero)):
    print(i)
    v1 = []
    v1.append(scores2[i])
    radar.add(
        series_name=hero[i],
        data=v1,
        linestyle_opts=opts.LineStyleOpts(color="#CD0000"),
      )

radar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
radar.set_global_opts(
        title_opts=opts.TitleOpts(title="Radar-多例模式"), legend_opts=opts.LegendOpts()
    )
radar.render("basic_radar_chart.html")







radar.add_schema(
        schema=[
            opts.RadarIndicatorItem(name="蓝量赋分"),
            opts.RadarIndicatorItem(name="血量赋分"),
            opts.RadarIndicatorItem(name="攻击赋分"),
            opts.RadarIndicatorItem(name="防御赋分"),
            opts.RadarIndicatorItem(name="移速赋分"),
        ]
    )
for i in range(len(hero)):
    print(i)
    v1 = []
    v1.append(scores2[i])
    radar.add(
        series_name=hero[i],
        data=v1,
        linestyle_opts=opts.LineStyleOpts(color="#CD0000"),
      )
radar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
radar.set_global_opts(
        legend_opts=opts.LegendOpts(selected_mode="single"),
        title_opts=opts.TitleOpts(title="Radar-单例模式"),
    )
radar.render("radar_selected_mode.html")

 柱状图代码:



import plotly.graph_objects as go
import plotly.express as px

import numpy as np
import pandas as pd

df = pd.read_excel("WZRY.xlsx")


fig = px.bar(df,
             x='英雄',
             y='血量',
             color='血量')
fig.show()

df2=df[df["位置"] == "坦克"]

df3=df[df["位置"] == "战士"]

df4=df[df["位置"] == "法师"]

df5=df[df["位置"] == "射手"]

df6=df[df["位置"] == "辅助"]

trace0=go.Bar(
    x=df2["英雄"],
    y=df2["血量"],
    name='坦克'
)

trace1=go.Bar(
    x=df3["英雄"],
    y=df3["血量"],
    name='战士'
)

trace2=go.Bar(
    x=df4["英雄"],
    y=df4["血量"],
    name='法师'
)

trace3=go.Bar(
    x=df5["英雄"],
    y=df5["血量"],
    name='射手'
)

trace4=go.Bar(
    x=df6["英雄"],
    y=df6["血量"],
    name='辅助'
)

#%%

data=[trace0,trace1,trace2,trace3,trace4]
print(data)


layout=go.Layout(
    barmode='group'
)
#print(layout)

go.Figure(data=data)

#
fig2 = px.bar(df,
             x='英雄',
             y='移速',
             color='位置')
fig2.show()


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值