Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python利用猫眼票房接口及pyecharts制作图表

Python利用猫眼票房接口及pyecharts制作图表

作者头像
kenvie
发布于 2022-01-20 08:39:15
发布于 2022-01-20 08:39:15
83709
代码可运行
举报
文章被收录于专栏:kenviekenvie
运行总次数:9
代码可运行

安装pip包

安装requests包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install requests

安装pyecharts包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pyecharts

演示

柱状图:

折线图:

饼图:

代码实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
from pyecharts.charts import Bar, Line, Pie
from pyecharts.globals import ThemeType
from pyecharts import options as opts


def data_one():
    url = 'https://piaofang.maoyan.com/getBoxList?date=1&isSplit=true&timeStamp=1637233875102&index=242&channelId=40009&sVersion=1&signKey=7f498fbe57c7ea7e8889fdfa2b65e1b8'
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (HTML5, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
    }
    # 定义两个空列表
    name_list = []
    movie_list = []
    res = requests.get(url=url, headers=headers).json()
    # 索引到list里
    json_dict = res['boxOffice']['data']['list']
    for i in json_dict:
        # 在获取到的数据里索引电影名
        name = i['movieInfo']['movieName']
        # 如果票房的最后一位是亿,那么票房的数字乘10000
        if i['sumBoxDesc'][-1] == '亿':
            a = float(i['sumBoxDesc'][:-1]) * 10000
        # 否则
        else:
            # 如果票房的最后一位不是亿,那就是万,不变
            a = i['sumBoxDesc'][:-1]

        # 将电影名、票房添加到上面定义的两个空列表中
        name_list.append(name)
        movie_list.append(a)
    print('data ===> success')
    # 向函数传值
    see_bar(name_list, movie_list)
    see_line(name_list, movie_list)
    see_pie(name_list, movie_list)


# 柱状图表
def see_bar(name_list, movie_list):
    bar = Bar(init_opts=opts.InitOpts(width='1200px', height='600px', page_title='猫眼电影', theme=ThemeType.VINTAGE))
    # X轴数据
    bar.add_xaxis(name_list, )
    # Y轴数据
    bar.add_yaxis('票房', movie_list)
    # 全局设置
    bar.set_global_opts(
        title_opts=opts.TitleOpts(
            # 主标题
            title='猫眼电影',
            # 副标题
            subtitle='票房数据',
            # 标题位置
            pos_left='center',
            # 主标题样式
            title_textstyle_opts=opts.TextStyleOpts(font_size=30, color='#ee3f4d'),
            # 副标题样式
            subtitle_textstyle_opts=opts.TextStyleOpts(font_size=20, color='#f0a1a8')),
        # x轴设置
        xaxis_opts=opts.AxisOpts(name_rotate=0, axislabel_opts={"rotate": 0, "interval": 0, }, ),  # 名字太长不显示,倾斜角度

        # 图例设置
        legend_opts=opts.LegendOpts(pos_left='right', textstyle_opts=opts.TextStyleOpts(font_size=20, color='#de1c31')),

        # y轴 单位
        yaxis_opts=opts.AxisOpts(name='单位:万元')
    )

    # 格式化输出
    bar.set_series_opts(
        label_opts=opts.LabelOpts(formatter='{@[1]}万'))
    # 渲染页面
    bar.render('bar.html')
    print('bar  ===> success')


# 折线图表
def see_line(name_list, movie_list):
    line = Line(init_opts=opts.InitOpts(width='1200px', height='600px', page_title='猫眼电影', theme=ThemeType.VINTAGE))
    # X轴数据
    line.add_xaxis(name_list)
    # Y轴数据
    line.add_yaxis('票房', movie_list)
    # 全局设置
    line.set_global_opts(
        title_opts=opts.TitleOpts(
            # 主标题
            title='猫眼电影',
            # 副标题
            subtitle='票房数据',
            # 标题位置
            pos_left='center',
            # 主标题样式
            title_textstyle_opts=opts.TextStyleOpts(font_size=30,
                                                    color='#ee3f4d'),
            # 副标题样式
            subtitle_textstyle_opts=opts.TextStyleOpts(font_size=20,
                                                       # 颜色
                                                       color='#f0a1a8')),
        # x轴设置
        # x轴文字的角度"rotate": 0
        xaxis_opts=opts.AxisOpts(name_rotate=0, axislabel_opts={"rotate": 0, "interval": 0, }, ),  # 名字太长不显示,倾斜角度

        # 标签设置
        # pos_left='left' 标签位置
        # textstyle_opts 标签
        legend_opts=opts.LegendOpts(pos_left='left', textstyle_opts=opts.TextStyleOpts(font_size=20, color='#de1c31')),

        # y轴 单位
        yaxis_opts=opts.AxisOpts(name='单位:万元')
    )

    # 格式化输出
    line.set_series_opts(
        label_opts=opts.LabelOpts(formatter='{@[1]}万', position='right'))
    # 渲染页面
    line.render('line.html')
    print('line ===> success')


# 饼图
def see_pie(name_list, movie_list):
    # 创建一个Pie对象
    pie = Pie(init_opts=opts.InitOpts(width='1200px', height='600px', page_title='猫眼电影', theme=ThemeType.VINTAGE))
    # 定义一个空的列表
    data_list = []
    # 循环zip(name_list,movie_list),将票房和电影名合成key,value格式
    for i in zip(name_list, movie_list):
        # 将key,value格式数据合成在data_list
        data_list.append(list(i))
    # 传入数据,鼠标停留显示
    # series_name = '猫眼票房' 鼠标放在块上的标签文字
    pie.add(
        data_pair=data_list, series_name='猫眼票房', label_opts=opts.LabelOpts(font_size=12)  # 视觉引导线的字体
    )
    # 全局设置
    pie.set_global_opts(
        title_opts=opts.TitleOpts(
            # 主标题
            title='猫眼电影',
            # 副标题
            subtitle='票房数据',
            # 标题位置
            pos_left='center',
            # 主标题样式
            title_textstyle_opts=opts.TextStyleOpts(
                font_size=20, color='black'
            ),
            # 副标题样式
            subtitle_textstyle_opts=opts.TextStyleOpts(font_size=14, color='black')
        ),
        # 标签设置
        # pos_left='right' 标签位置
        # orient='vertical' 标签竖排列
        legend_opts=opts.LegendOpts(pos_left='right', orient='vertical')
    )
    pie.render('pie.html')
    print('pie  ===> success')

# 主函数
if __name__ == '__main__':
    data_one()

版权属于:kenvie

本文链接:https://cloud.tencent.com/developer/article/1937758

商业转载请联系作者获得授权,非商业转载请注明出处。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 11 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(Python实用)用Python做的交互式动态大图
今天给大家分享1个pyecharts交互式动态可视化案例,通过先拆分、后组合的方式,一步步教你如何实现,具体成果如下。
天道Vax的时间宝藏
2021/08/11
1.3K1
【可视化大屏】用Python开发「淄博烧烤」微博热评舆情分析大屏
自从2023.3月以来,"淄博烧烤"现象持续占领热搜流量,体现了后疫情时代众多网友对人间烟火气的美好向往,本现象级事件存在一定的数据分析实践意义。
无双0516
2025/03/19
2320
【可视化大屏】用Python开发「淄博烧烤」微博热评舆情分析大屏
利用Python搭建一个实时监控可视化大屏
实际上可以将CPU和磁盘信息监控指标分表设置,两者对时间粒度要求是不一样的,减少不需要的资源消耗。后期专门写一篇来聊聊如何搭建数据指标体系。
张俊红
2021/08/20
2.4K0
利用Python搭建一个实时监控可视化大屏
这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!
编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)
杰哥的IT之旅
2020/09/22
2K0
这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!
python pyecharts数据可视化 玫瑰图、柱形图、饼图、环图
其实真正能让自己走远的,都是自律、积极和勤奋。 文章目录 一、柱形图 代码如下: from pyecharts.charts import Bar from pyecharts.faker import Faker from pyecharts.globals import ThemeType, CurrentConfig from pyecharts import options as opts CurrentConfig.ONLINE_HOST = 'D:/python/pyecharts-a
叶庭云
2020/09/17
12.5K0
python  pyecharts数据可视化   玫瑰图、柱形图、饼图、环图
【可视化大屏】用Python开发智慧城市数据分析大屏!
由于pyecharts组件没有专门用作标题的图表,我决定灵活运用Line组件实现大标题。
马哥python说
2025/07/14
1170
【可视化大屏】用Python开发智慧城市数据分析大屏!
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
针对TOP250排行榜的数据,开发一套可视化数据大屏系统,展示各维度数据分析结果。
马哥python说
2025/04/27
7260
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
利用pyecharts做数据大屏dashboard
本站文章除注明转载/出处外,均为本站原创,转载前请务必署名,转载请标明出处 最后编辑时间为: 2021/11/25 15:50:29
overme
2022/01/17
1.9K0
利用pyecharts做数据大屏dashboard
用 pyecharts 制作数据可视化大屏之数据地图
前段时间,给大家分享过 20 个炫酷的数据可视化大屏,源代码都是基于 echarts 的,于是我产生了用 Python 来实现数据可视化大屏的想法。
张俊红
2021/02/03
4K0
用 pyecharts 制作数据可视化大屏之数据地图
关于pyecharts可视化中国经济、人口等数据
首先pyecharts是个可视化的好工具,pyecharts已做了变更目前是1.6.2版本,但工具的灵活运用学习过程还是很痛苦的。
python与大数据分析
2022/03/11
1.2K0
关于pyecharts可视化中国经济、人口等数据
python爬取微博热搜数据并保存!
主要用到requests和bf4两个库 将获得的信息保存在d://hotsearch.txt下
python学习教程
2021/03/01
1.1K0
【Python数据分析】可视化图表分析拉钩网招聘数据
上次我们爬了拉钩网的数据,现在我们来分析下,看看哪些公司的招聘信息具体需求都是哪些,让我们用可视化图表展示
松鼠爱吃饼干
2021/10/26
7710
【Python数据分析】可视化图表分析拉钩网招聘数据
【Python可视化】使用Pyecharts进行奥运会可视化分析~
项目全部代码 & 数据集都可以访问我的KLab --【Pyecharts】奥运会数据集可视化分析~获取,点击Fork即可~
Awesome_Tang
2020/05/09
2.9K0
【Python可视化】使用Pyecharts进行奥运会可视化分析~
关于pyecharts可视化动态效果和美化布局中国经济、人口等数据
在本文中第一段代码是通过geo展现三千多个地级市、县级市的热力图,第二段代码是播放从1950年-2010年各省直辖市自治区GDP的发展情况;第三段代码是以表格方式展现六大行政区的一二三产业数据;第四段代码通过grid来调整标题和图例的布局,使报表更加美观;第五段代码是把4个报表在一个页面中展现出来。
python与大数据分析
2022/03/11
3610
关于pyecharts可视化动态效果和美化布局中国经济、人口等数据
python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!
在上一篇文章【以『赘婿』为实战案例,手把手教会你用python爬取『爱奇艺』视频弹幕】,教会了大家如何爬取爱奇艺弹幕!
Python研究者
2021/03/05
6600
python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!
使用python的Django库开发一个简单的数据可视化网站(四)- 使用pyecharts进行数据可视化
上节课我们使用了Django连接了MySQL进行了数据的显示和数据的查询,这节课我们使用pyecharts进行数据可视化,由于之前已经讲了一期pyecharts的数据可视化,所以我们这节课会稍微简单一点。
你像时光唯美i
2022/08/26
1.7K0
python pyecharts数据可视化 词云图 仪表盘 水球图
词云就是通过形成关键词云层或关键词渲染,过滤掉大量的文本信息,对网络文本中出现频率较高的关键词的视觉上的突出。
叶庭云
2020/09/17
1.8K0
python   pyecharts数据可视化  词云图  仪表盘   水球图
python可视化利器:pyecharts
前面我们提及ggplot在R和Python中都是数据可视化的利器,在机器学习和数据分析领域得到了广泛的应用。pyecharts结合了Python和百度开源的Echarts工具,基于其交互性和便利性得到了众多开发者的认可。拥有如下的特点:
TOMOCAT
2020/06/10
1.7K0
爬取猫眼《长津湖》影评,分析观影群众信息,还进行了明日票房预测,好玩!
对于这个十一黄金周的电影市场,绝对是《长津湖》的天下,短短几天,票房就已经突破36亿,大有奋起直追《战狼2》的尽头。而且口碑也是相当的高,猫眼评分高达9.5,绝对的票房口碑双丰收啊
周萝卜
2021/10/13
6350
python pyecharts数据可视化 折线图 箱形图
数据来源:http://www.tianqihoubao.com/aqi/chengdu-201901.html
叶庭云
2020/09/17
3.2K0
python  pyecharts数据可视化   折线图  箱形图
推荐阅读
相关推荐
(Python实用)用Python做的交互式动态大图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档