(4)各个属性角色分析显示-4

        将折线图、数据集、散点图集合在一个html文件中:
(1)将折线图、数据集、散点图设置为函数a()、b()、c(),

(2)再调用page.add()函数,将三个图片组合在一起

(3)运行page.render("x.html")函数,将该页面命名,打开html文件,将三个图表放置好位置

(4)保存之后,会得到一个jasn文件,将之移动到项目文件中

(5)注释掉(3)中代码,运行Page.save_resize_html("x.html", cfg_file="jasn文件", dest="./templates/冰属性.html"),会得到一个名为“冰属性”的html文件。

"""绘图"""
from pyecharts.charts import Timeline
from find_type import FindType
import pandas as pd
from pyecharts.charts import Bar, Page
from pyecharts.charts import Scatter
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker


def a():
    return_things = FindType("冰").find_type()
    c = (
        Line()
        .add_xaxis(list(return_things["角色"]))
        .add_yaxis("生命值", list(return_things["生命值"]), is_connect_nones=True)
        .add_yaxis("防御力", list(return_things["防御力"]), is_connect_nones=True)
        .add_yaxis("攻击力", list(return_things["攻击力"]), is_connect_nones=True)
        .set_global_opts(title_opts=opts.TitleOpts(title="折线图"))
    )
    return c


def b():
    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 c


def c():
    return_things = FindType("冰").find_type()
    df = return_things.drop(["属性", "突破加成"], axis=1)
    list_source = [["produce", "生命值", "防御力", "攻击力"]]
    for x in range(0, len(df["角色"])):
        list_source.append([df.iloc[x]["角色"],
                            int(df.iloc[x]["生命值"]),
                            int(df.iloc[x]["防御力"]),
                            int(df.iloc[x]["攻击力"])])
    print(list_source)
    c = (
        Bar()
        .add_dataset(
            source=list_source
        )
        .add_yaxis(series_name="生命值", y_axis=[])
        .add_yaxis(series_name="防御力", y_axis=[])
        .add_yaxis(series_name="攻击力", y_axis=[])
        .set_global_opts(
            title_opts=opts.TitleOpts(title="冰属性"),
            xaxis_opts=opts.AxisOpts(type_="category"),
        )
    )
    return c


page = Page(layout=Page.DraggablePageLayout)
page.add(a(), b(), c())
# page.render(".html")
# Page.save_resize_html(".html", cfg_file="", dest="./templates/冰属性.html")

运行结果:

(4)各个属性角色分析显示-4_第1张图片

 

你可能感兴趣的:(原神角色数据分析项目,python,信息可视化,matplotlib,数据分析,开发语言)