《Python数据可视化之Matplotlib与Pyecharts》之主题河流图

11.7.2  不同类型商品销售情况分析

为了分析该企业不同类型商品的销售额情况,绘制了不同商品销售额的主题河流图,Python代码如下:

# -*- coding: utf-8 -*-

# -*- coding: utf-8 -*-

 

#声明Notebook类型,必须在引入pyecharts.charts等模块前声明

from pyecharts.globals import CurrentConfig, NotebookType

CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

from pyecharts import options as opts

from pyecharts.charts import Page, ThemeRiver

from impala.dbapi import connect

 

#连接Hadoop数据库

conn = connect(host='192.168.1.7', port=10000, database='sales',auth_mechanism='NOSASL',user='root')

cursor = conn.cursor()

 

#读取Hadoop表数据

sql_num = "SELECT order_date,ROUND(SUM(sales),2),category FROM orders WHERE order_date>='2019-10-01' and order_date<='2019-10-31' GROUP BY category,order_date"

cursor.execute(sql_num)

sh = cursor.fetchall()

v1 = []

v2 = []

for s in sh:

  v1.append([s[0],s[1],s[2]])

  

#画主题河流图

def themeriver() -> ThemeRiver:

    c = (

        ThemeRiver()

        .add(

            ["办公用品","家具","技术"],

            v1,

            singleaxis_opts=opts.SingleAxisOpts(type_="time", pos_bottom="10%"),

        )

        .set_global_opts(title_opts=opts.TitleOpts(title="不同类型商品销售额比较分析", subtitle="2019年企业经营状况"),

                         toolbox_opts=opts.ToolboxOpts(),

                         legend_opts=opts.LegendOpts(is_show=True)

                        )

    )

    return c

 

#第一次渲染时候调用load_javasrcript文件

themeriver().load_javascript()

#展示数据可视化图表

themeriver().render_notebook()

在Jupyter lab中运行上述代码,生成如图11-7所示的主题河流图。

《Python数据可视化之Matplotlib与Pyecharts》之主题河流图_第1张图片

图11-7  主题河流图

你可能感兴趣的:(《Python数据可视化之Matplotlib与Pyecharts》之主题河流图)