• 基于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)
    
    
    
    
    
    
    

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

  • 相关阅读:
    Security5实现鉴权访问【即有权限才能访问指定资源】前后端分离
    汽车托运汽车会产生公里数吗?
    解析java的Scanner类中next()方法和nextLine()的区别和联系
    Jmeter接口测试教程
    英文科技论文写作与发表-写作实践(第7章)
    软断言你也学不会
    基于springboot线程池,来提高接口并发相关demo的性能压测和思考
    逆置链表(原地逆置链表)
    C# 窗体与子线程数据交互
    93.STL-系统内置仿函数
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/127121292