????????所有角色數(shù)據(jù)分析頁(yè)面,包括一個(gè)時(shí)間軸柱狀圖、六個(gè)散點(diǎn)圖、六個(gè)柱狀圖(每個(gè)屬性角色的生命值/防御力/攻擊力的max與min的對(duì)比)。
"""繪圖"""
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 ["火", "水", "冰", "風(fēng)", "雷", "巖"]:
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.xlsx", header=0, index_col=0)
role_things = role_things.fillna(axis=0, method="ffill")
things_list = role_things.groupby("屬性").groups
print(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
# 風(fēng)
def b():
return_things = FindType("風(fēng)").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="風(fēng)屬性"),
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 c
def e():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.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 c
def f():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.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 c
def g():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.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 c
def h():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.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 c
def I():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.xlsx", header=0, index_col=0)
role_things = role_things.fillna(axis=0, method="ffill")
print(role_things)
return_things = FindType("風(fēng)").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="風(fēng)屬性"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate": 45})
)
)
return c
def K():
role_things = pd.read_excel("C:/Users/YHT/Desktop/項(xiàng)目/原神各屬性角色信息.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 c
page = 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/無(wú).html")
運(yùn)行結(jié)果:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-649996.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-649996.html
到了這里,關(guān)于(5)所有角色數(shù)據(jù)分析頁(yè)面的構(gòu)建-5的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!