• 基于Django+Vue.js+Scrapy+Sqlite3电影数据可视化(柱状图、折线图、饼图、词云图)设计


    目录

    1. 引言 2
      1.1 编写目的 2
      1.2 读者对象 2
      1.3 软件项目概述 2
      1.4 文档概述 2
      1.5 定义 2
      1.6 参考资料 3

    2. 软件的一般性描述 4
      2.1软件产品与其环境之间的关系 4
      2.2限制与约束 4
      2.3假设与前提条件 4
      3.功能需求描述 5
      3.1系统的划分 5
      3.2 数据爬取子系统的功能 6
      3.2.1 数据爬取的用例图 6
      3.2.2 数据爬取用例的描述 7
      3.3 数据可视化子系统的功能 7
      3.3.1 数据可视化子系统的用例图 7
      3.3.2 数据可视化子系统的用例描述 其一 9
      3.3.3 数据可视化子系统的用例描述 其二 10
      3.4 数据库系统的功能 11
      3.4.1 数据库系统的用例图 11
      3.4.2 数据库系统用例的描述 12

    3. 其它需求描述 13
      4.1 性能要求 13
      4.2 设计约束 13
      4.3 界面要求 13
      4.4 进度要求 13
      4.5 交付要求 13
      4.6 验收要求 13

    4. 软件原型 14

    5. 附录 19

    6. 引言
      1.1 编写目的
      使读者能够了解MOVA项目的概况
      1.2 读者对象
      电影行业从业人员、电影爱好者
      1.3 软件项目概述
      项目名称:Movie Visualization Analysis system (MOVA)
      用户单位:个人用户
      开发单位:HITSZSE_group10
      功能用途:本文转载自http://www.biyezuopin.vip/onews.asp?id=14764数据查询、图表生成及导出
      1.4 文档概述
      文档中包含引言、软件一般性描述以及需求描述
      1.5 定义
      暂无
      1.6 参考资料
      暂无

    7. 软件的一般性描述
      2.1软件产品与其环境之间的关系
      外部用户:MOVA的目标客户
      外部系统:Windows 及 OS X
      2.2限制与约束
      MOVA中的电影数据的时间跨度为2015.1.1-2018.11.30
      2.3假设与前提条件

    8. MOVA中的电影数据均来自于豆瓣电影及猫眼电影,以猫眼电影为主

    9. 用户对电影数据的需求较新,由2015年开始。

    from django.shortcuts import render
    from PIL import Image
    import pyecharts
    # Create your views here.
    
    
    # 绘制pyecharts图表的类
    class VisualizationChart:
        def __init__(self, title, data_name, x_axis, y_axis, chart_name):
            self.title = title
            self.data_name = data_name
            self.x_axis = x_axis
            self.y_axis = y_axis
    #        self.chart_name = './frontend/src/diagrams/' + chart_name
            self.chart_name = './frontend/dist/static/' + chart_name
    
    
        def histogram(self):
            bar = pyecharts.Bar(self.title, background_color='#fff')
            # 绘制TOP电影票房柱状图时,因为电影名称较长,所以需要旋转标签值,才可显示所有的电影名称
            if '电影票房TOP' in self.title:
                bar.add("", self.x_axis, self.y_axis, xaxis_interval=0, xaxis_rotate=20)
            else:
                bar.add(self.data_name, self.x_axis, self.y_axis)
            save_file_name = self.chart_name + '_bar.png'
            bar.render(path=save_file_name)
    
        def line(self):
            # line = pyecharts.Line(self.title, width=400, height=200, title_text_size=10)
            line = pyecharts.Line(self.title, background_color='#fff')
            # 绘制电影票房趋势图有多条折线
            for (name, y) in zip(self.data_name, self.y_axis):
                # line.add(name, self.x_axis, y, xaxis_label_textsize=8, yaxis_label_textsize=8, legend_text_size=6, legend_pos='40%')
                line.add(name, self.x_axis, y)
            save_file_name = self.chart_name + '_line.png'
            line.render(path=save_file_name)
    
        def pie(self):
            pie = pyecharts.Pie(self.title, background_color='#fff')
            pie.add("", self.x_axis, self.y_axis, legend_orient="vertical", legend_pos="right")
            save_file_name = self.chart_name + '_pie.png'
            pie.render(path=save_file_name)
    
        def word_cloud(self):
            wordcloud = pyecharts.WordCloud(self.title, background_color='#fff')
            wordcloud.add("", self.x_axis, self.y_axis, shape='diamond')
            save_file_name = self.chart_name + '_wordcloud.png'
            wordcloud.render(path=save_file_name)
    
    
    
    
    
    
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    纳米软件干货分享|芯片测试技术知识科普
    Cisco简单配置(七)—组建一个简单局域网
    【VUE.JS】安装部署篇:验证开发环境:NODE+Express+VUE+WEBPACK
    详解模板引擎一
    kafka常用查看主题,消费数据的排查命令[重要!!!]
    天才基本法中预测犯罪发生地点的数学建模真的可以为所欲为【全国大学生数学建模竞赛】
    打造魔法般的节日装扮---智能氛围灯新方案,创意更好玩
    超越GPT-3,DeepMind推出新宠Gato,却被质疑“换汤不换药”?
    uniapp封装一个可移动的定位图标
    网络管理基础
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/127121292