parent
925e1bfb79
commit
e280442fd5
@ -0,0 +1,60 @@
|
||||
import pandas as pd # 导入 pandas 库,用于数据处理
|
||||
from pyecharts import options as opts # 导入 pyecharts 库中的选项模块,用于设置图表选项
|
||||
from pyecharts.charts import Bar # 导入 pyecharts 库中的柱状图模块,用于绘制柱状图
|
||||
|
||||
# 读取Excel文件中的数据
|
||||
data = pd.read_excel('TOP250.xlsx') # 使用 pd.read_excel() 方法读取 Excel 文件中的数据,并存储在名为 data 的 DataFrame 中
|
||||
|
||||
# 打印数据列名,以便检查数据结构
|
||||
print(data.columns) # 打印数据的列名,方便检查数据结构
|
||||
|
||||
# 统计各年份电影数量并按年份排序
|
||||
year_counts = data['上映年份'].value_counts().sort_index() # 统计各年份电影数量,并按照年份进行排序,结果存储在 year_counts 中
|
||||
|
||||
# 绘制各年份上映电影数量柱状图(纵向)
|
||||
c1 = (
|
||||
Bar() # 创建柱状图对象
|
||||
.add_xaxis(list(year_counts.index)) # 添加横轴数据(年份)
|
||||
.add_yaxis('上映数量', year_counts.values.tolist()) # 添加纵轴数据(电影数量)
|
||||
.set_global_opts( # 设置全局选项
|
||||
title_opts=opts.TitleOpts(title='各年份上映电影数量'), # 设置标题
|
||||
yaxis_opts=opts.AxisOpts(name='上映数量'), # 设置纵轴标签
|
||||
xaxis_opts=opts.AxisOpts(name='上映年份'), # 设置横轴标签
|
||||
datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_='inside')] # 设置数据缩放选项
|
||||
)
|
||||
.render('各年份上映电影数量.html') # 渲染图表并保存为HTML文件
|
||||
)
|
||||
|
||||
# 计算各地区电影数量
|
||||
country_counts = data['国家/地区'].value_counts().sort_values(ascending=True) # 计算各地区电影数量,并按照数量升序排序
|
||||
|
||||
# 绘制各地区上映电影数量前十柱状图(横向)
|
||||
c2 = (
|
||||
Bar() # 创建柱状图对象
|
||||
.add_xaxis(list(country_counts.index)[-10:]) # 添加横轴数据(地区)
|
||||
.add_yaxis('地区上映数量', country_counts.values.tolist()[-10:]) # 添加纵轴数据(电影数量)
|
||||
.reversal_axis() # 设置为横向柱状图
|
||||
.set_global_opts( # 设置全局选项
|
||||
title_opts=opts.TitleOpts(title='地区上映电影数量'), # 设置标题
|
||||
yaxis_opts=opts.AxisOpts(name='国家/地区'), # 设置纵轴标签
|
||||
xaxis_opts=opts.AxisOpts(name='上映数量') # 设置横轴标签
|
||||
)
|
||||
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 设置系列选项
|
||||
.render('各地区上映电影数量前十.html') # 渲染图表并保存为HTML文件
|
||||
)
|
||||
|
||||
# 绘制电影评价人数前二十柱状图(横向)
|
||||
c3 = (
|
||||
Bar() # 创建柱状图对象
|
||||
.add_xaxis(data['片名'].values.tolist()[-20:]) # 添加横轴数据(电影名称)
|
||||
.add_yaxis('评价人数', data['评价人数'].values.tolist()[-20:]) # 添加纵轴数据(评价人数)
|
||||
.reversal_axis() # 设置为横向柱状图
|
||||
.set_global_opts( # 设置全局选项
|
||||
title_opts=opts.TitleOpts(title='电影评价人数'), # 设置标题
|
||||
yaxis_opts=opts.AxisOpts(name='片名'), # 设置纵轴标签
|
||||
xaxis_opts=opts.AxisOpts(name='人数'), # 设置横轴标签
|
||||
datazoom_opts=opts.DataZoomOpts(type_='inside'), # 设置数据缩放选项
|
||||
)
|
||||
.set_series_opts(label_opts=opts.LabelOpts(position="right")) # 设置系列选项
|
||||
.render('电影评价人数前二十.html') # 渲染图表并保存为HTML文件
|
||||
)
|
Loading…
Reference in new issue