11.1.2 企业股票每日交易量分析
为了分析该企业股票的成交量,绘制了股票每日交易量的日历图,Python代码如下:
# -*- 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 Calendar, Page
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 trade_date,volume FROM stocks WHERE year(trade_date)=2018"
cursor.execute(sql_num)
sh = cursor.fetchall()
v1 = []
for s in sh:
v1.append([s[0],s[1]])
data = v1
#画日历图
def calendar_base() -> Calendar:
c = (
Calendar()
.add("", data, calendar_opts=opts.CalendarOpts(range_="2018"))
.set_global_opts(
title_opts=opts.TitleOpts(title="2018年股票交易量分析"),
visualmap_opts=opts.VisualMapOpts(
max_=1000000000,
min_=40000000,
orient="horizontal", #vertical垂直的,horizontal水平的
is_piecewise=True,
pos_top="200px",
pos_left="10px"
),
toolbox_opts=opts.ToolboxOpts(),
legend_opts=opts.LegendOpts(is_show=True)
)
)
return c
#第一次渲染时候调用load_javasrcript文件
calendar_base().load_javascript()
#展示数据可视化图表
calendar_base().render_notebook()
在Jupyter lab中运行上述代码,生成如图11-1所示的日历图。
图11-1 日历图