parent
f87a8b8888
commit
b2ec48f5e6
@ -0,0 +1,67 @@
|
|||||||
|
from pyecharts.charts import Bar, Page
|
||||||
|
from pyecharts import options as opts
|
||||||
|
import pandas as pd
|
||||||
|
from pyecharts.components import Table
|
||||||
|
|
||||||
|
df = pd.read_csv('export.csv')
|
||||||
|
|
||||||
|
df_sorted = df.sort_values(by='rating', ascending=False)#评分降序
|
||||||
|
|
||||||
|
#转为列表,获取电影名称、评分、链接和其他信息
|
||||||
|
movies = df_sorted['title'].tolist()
|
||||||
|
ratings = df_sorted['rating'].tolist()
|
||||||
|
links = df_sorted['link'].tolist()
|
||||||
|
other_info = df_sorted[['type', 'country', 'year', 'director', 'time', 'actor']].values.tolist()
|
||||||
|
|
||||||
|
#构建 tooltip 格式,光标位置显示信息
|
||||||
|
tooltip_formatter = '''
|
||||||
|
{movie}<br>
|
||||||
|
评分: {rating}<br>
|
||||||
|
'''.format(
|
||||||
|
movie='{b}',
|
||||||
|
rating='{c}',
|
||||||
|
)
|
||||||
|
|
||||||
|
#创建柱状图对象
|
||||||
|
bar = (
|
||||||
|
Bar()
|
||||||
|
.add_xaxis(movies)
|
||||||
|
.add_yaxis("评分", ratings, label_opts=opts.LabelOpts(is_show=False))
|
||||||
|
.set_global_opts(
|
||||||
|
title_opts=opts.TitleOpts(title="电影评分排行榜"),
|
||||||
|
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45)),
|
||||||
|
tooltip_opts=opts.TooltipOpts(formatter=tooltip_formatter),
|
||||||
|
yaxis_opts=opts.AxisOpts(min_=8),
|
||||||
|
datazoom_opts=[opts.DataZoomOpts(type_="slider", range_start=0, range_end=100)],
|
||||||
|
)
|
||||||
|
.set_series_opts(#标记线
|
||||||
|
markline_opts=opts.MarkLineOpts(
|
||||||
|
data=[
|
||||||
|
opts.MarkLineItem(type_="average", name="平均值"),
|
||||||
|
opts.MarkLineItem(type_="max", name="最大值"),
|
||||||
|
opts.MarkLineItem(type_="min", name="最小值"),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#创建表格数据
|
||||||
|
table_data = []
|
||||||
|
for i in range(len(movies)):
|
||||||
|
row = [movies[i], ratings[i], links[i]] + other_info[i]
|
||||||
|
table_data.append(row)
|
||||||
|
|
||||||
|
#创建表格对象
|
||||||
|
table = (
|
||||||
|
Table()
|
||||||
|
.add(["电影名称", "评分", "链接", "类型", "国家", "年份", "导演", "时长", "演员"], table_data)
|
||||||
|
.set_global_opts(
|
||||||
|
title_opts=opts.ComponentTitleOpts(title="电影信息表格"),
|
||||||
|
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#生成HTML文件
|
||||||
|
page = Page()
|
||||||
|
page.add(bar,table)
|
||||||
|
page.render("Movie.html")
|
Loading…
Reference in new issue