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

        所有角色数据分析页面,包括一个时间轴柱状图、六个散点图、六个柱状图(每个属性角色的生命值/防御力/攻击力的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.hqwc.cn/news/63634.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio 2022安装教程(英文版)

文章目录 1.下载安装 1.下载 官网地址:https://visualstudio.microsoft.com/zh-hans/vs/ 选择第一个社区版本:Community 2022 安装 1.将下载好的文件保存到桌面,双击点开 2.等待visual studio installer配置好 3.点击安装后会来到配件选…

uniapp开发公众号,微信开发者工具进行本地调试

每次修改完内容都需要发行之后,再查看效果,很麻烦 !!! 下述方法,可以一边在uniapp中修改内容,一边在微信开发者工具进行本地调试 修改hosts文件 在最后边添加如下内容 修改前端开发服务端口 …

IL汇编 ldarg 指令学习

IL汇编代码, .assembly extern mscorlib {} .assembly MathLib {.ver 1 : 0 : 1 : 0 }.module MathLib.dll.namespace MyMath { .class public ansi auto MathClass extends [mscorlib]System.Object{ .method public int32 GetSquare(int32) c…

vue实现pdf预览功能

背景&#xff1a;材料上传之后点击预览实现在浏览器上预览的效果 效果如下&#xff1a; 实现代码如下&#xff1a; //预览和下载操作 <el-table-column fixed"right" label"操作" width"210"><template #default"scope">…

Confluence(wiki)搭建遇到创建的文档乱码问题的解决

在公司使用这个知识管理协同的工具的时候&#xff0c;感觉用起来还不错&#xff0c;自己就想着搭建一套玩玩&#xff1b; 用的是docker搭建&#xff0c;具体就是搞docker compose文件管理起来&#xff0c; 但是当我搭建完毕之后创建学习目录的时候发现全是&#xff1f;&#x…

Python3 安装、环境变量配置、PyCharm新建Python项目

一、安装包下载 Pyhton官网下载>>最新稳定版的安装包&#xff1a; 找到合适的版本进行下载&#xff1a; 如果下载较慢&#xff0c;此处提供一个3.10.11的稳定版本的安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/16GnWjkGFuSfWfaI9UVX8qA?pwd4u5o 提取…

31 | 独角兽企业数据分析

独角兽企业:是投资行业尤其是风险投资业的术语,一般指成立时间不超过10年、估值超过10亿美元的未上市创业公司。 项目目的: 1.通过对独角兽企业进行全面地分析(地域,投资方,年份,行业等),便于做商业上的战略决策 项目数据源介绍 1.数据源:本项目采用的数据源是近…

对强缓存和协商缓存的理解

浏览器缓存的定义&#xff1a; 浏览器缓存是浏览器在本地磁盘对用户最近请求过的文档进行存储&#xff0c;当访问者再次访问同一页面时&#xff0c;浏览器就可以直接从本地磁盘加载文档。 浏览器缓存分为强缓存和协商缓存。 浏览器是如何使用缓存的&#xff1a; 浏览器缓存…

vue2 封装 webSocket 开箱即用

第一步&#xff1a; 下载 webSocket npm install vue-native-websocket --save 第二步&#xff1a; 需要在 main.js 中 引入 import websocket from vue-native-websocket; Vue.use(websocket, , {connectManually: true, // 手动连接format: json, // json格式reconnection:…

推荐 4 个 yyds 的 GitHub 项目

本期推荐开源项目目录&#xff1a; 1. 开源的 Markdown 编辑器 2. MetaGPT 3. SuperAGI 4. 一个舒适的笔记平台 01 开源的 Markdown 编辑器 Cherry 是腾讯开源的 Markdown 编辑器&#xff0c;基于 Javascript具有轻量简洁、易于扩展等特点&#xff0c; 它可以运行在浏览器或服…

通过OpenTelemetry上报Python-flask应用数据(阿里云)

参考文档 https://help.aliyun.com/document_detail/611711.html?spma2c4g.90499.0.0.34a056ddTu2WWq 先按照 方法一&#xff1a;手动埋点上报Python应用数据 步骤测试上报是否正常。 flas 上报 在 手动埋点上报Python应用数据 的基础上&#xff0c;上报flask应用的数据&#…

如何创造千亿项目?合法合规的绿色消费增值积分,或许能冲出赛道

电商行业的竞争越来越激烈&#xff0c;大部分的电商平台都面临着这三大难题&#xff1a;如何吸引用户、如何留存用户以及如何让用户为平台带来更多的效益。为了解决这三大问题&#xff0c;我们提出了创造千亿项目的商业模式——绿色消费增值积分系统&#xff0c;帮助企业冲出赛…