(5)所有角色数据分析页面的构建-5

news/2025/1/18 12:53:20/

        所有角色数据分析页面,包括一个时间轴柱状图、六个散点图、六个柱状图(每个属性角色的生命值/防御力/攻击力的max与min的对比)。

"""绘图"""
from pyecharts.charts import Timeline
from find_type import FindType
import pandas as pd
from pyecharts.charts import Bar, Page
from pyecharts import options as opts
from pyecharts.charts import Scatter# 全部角色
def x():tl = Timeline()for i in ["火", "水", "冰", "风", "雷", "岩"]:role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")things_list = role_things.groupby("属性").groupsprint(role_things.loc[things_list[i]]["角色"])bar = (Bar().add_xaxis(list(role_things.loc[things_list[i]]["角色"])).add_yaxis("生命值", list(role_things.loc[things_list[i]]["生命值"])).add_yaxis("防御力", list(role_things.loc[things_list[i]]["防御力"])).add_yaxis("攻击力", list(role_things.loc[things_list[i]]["攻击力"])).set_global_opts(title_opts=opts.TitleOpts()))tl.add(bar, f"{i}属性")return tl# 火
def y():return_things = FindType("火").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="火属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return c# 水
def z():return_things = FindType("水").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="水属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return c# 冰
def a():return_things = FindType("冰").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="冰属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return c# 风
def b():return_things = FindType("风").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="风属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return c# 雷
def c():return_things = FindType("雷").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="雷属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return c# 岩
def d():return_things = FindType("岩").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)list_source = [["produce", "max", "min"]]print(df)list_source = list_source + [["生命值"] + list(df[df["生命值"] == df["生命值"].max()]["生命值"]) + list(df[df["生命值"] == df["生命值"].max()]["生命值"])] + [["防御力"] + list(df[df["防御力"] == df["防御力"].max()]["防御力"]) + list(df[df["防御力"] == df["防御力"].max()]["防御力"])] + [["攻击力"] + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"]) + list(df[df["攻击力"] == df["攻击力"].max()]["攻击力"])]c = (Bar().add_dataset(source=list_source).add_yaxis(series_name="max", y_axis=[]).add_yaxis(series_name="min", y_axis=[]).set_global_opts(title_opts=opts.TitleOpts(title="岩属性"),xaxis_opts=opts.AxisOpts(type_="category"),))return cdef e():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("岩").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="岩属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cdef f():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("火").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="火属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cdef g():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("水").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="水属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cdef h():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("冰").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="冰属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cdef I():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("风").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="风属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cdef K():role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)role_things = role_things.fillna(axis=0, method="ffill")print(role_things)return_things = FindType("雷").find_type()df = return_things.drop(["属性", "突破加成"], axis=1)Name = df["角色"]Hp = df["生命值"]Def = df["防御力"]Atk = df["攻击力"]c = (Scatter().add_xaxis(list(Name)).add_yaxis("生命值", list(Hp)).add_yaxis("防御力", list(Def)).add_yaxis("攻击力", list(Atk)).set_global_opts(title_opts=opts.TitleOpts(title="雷属性"),visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})))return cpage = Page(layout=Page.DraggablePageLayout)
page.add(a(), b(), c(), d(), x(), y(), z(), e(), f(), g(), h(), I(), K())
# page.render(".html")
# Page.save_resize_html(".html", cfg_file="chaonfig.json", dest="./templates/无.html")

运行结果:

 


http://www.ppmy.cn/news/1025413.html

相关文章

探秘金和OA:解析任意文件读取漏洞的潜在威胁

是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场,有了这样的认识,你就会珍重生活,而不会玩世不恭;同时也会给人自身注入一种强大的内在力量…… 漏洞复现 访问url: 构造payload /C6/Jh…

pytest功能特性介绍

前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unittest是没什么区别的(个人理解)。 fixture用途 1.做测试前后的初始化设置,如测试数据…

基于ipad协议的gewe框架进行微信群组管理(二)

友情链接 geweapi.com 点击访问即可。 获取群组详情 小提示: 该接口可以一次查询20个群组查询出来的信息是不带公告的 请求URL: http://域名地址/api/group/detail 请求方式: POST 请求头: Content-Type:applica…

创建MySQL数据库和创建表的详细步骤(navicat)

目录 一、介绍 二、操作步骤 (一)新建连接 (二)新建数据库 (三)新建表 插入数据测试 对字段进行增加或者修改 三、关于MySQL的其他文章(额外篇) 一、介绍 在创建数据库…

使用windows搭建WebDAV服务,并内网穿透公网访问【无公网IP】

文章目录 1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透,将WebDav服务暴露在公网3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功 1. Linux(centos8…

小结:基于 JavaWeb 的宠物店管理系统

宠物店管理系统 系统介绍系统展示登录界面用户注册页面 店主主界面宠物信息管理页面修改宠物信息 宠物出入库管理页面宠物订单查询页面宠物账单查看页面用户信息管理页面修改用户信息 用户主界面宠物订购页面用户订购支付页面 个人资料编辑页面个人订单查看页面 系统说明开发环…

(统计学习方法|李航)第四章 朴素贝叶斯算法——贝叶斯估计

贝叶斯估计方法: 计算男女时只有两个值,所以K2 贝叶斯估计就是拉普拉斯平滑 估计方法:为什么叫做贝叶斯估计呢? 例题: 重新回顾以下朴素贝叶斯: 对他求导,求出最大值 得到了色i他的估计值&…

【MySQL--->数据库基础】

文章目录 [TOC](文章目录) 一、基本概念二、实际应用中的数据库三、mysql的架构四、mysql语句分类五、存储引擎查看 一、基本概念 mysql本质是一个CS模式的网络服务,mysql是客户端,mysqld是服务端,提供高效的数据存取方案.数据库系统简单来说是一个数据集合加上管理这个数据集…