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 日曆圖