一、 项目目标:
理解时序数据的特点和类别,掌握时序数据可视化的方法以及基本图形的绘图方法
二、学生知识和能力要求
(1)掌握时序数据的特点及可视化要求。
(2)掌握折线图的绘制方法。
三、工具与设备
1、操作系统:Windows 11
2、软件:anaconda、jupyter notebook
四、实施步骤与技术要点:
1、导入相应的Python数据可视化库;
2、设置中文显示;
3、利用pandas读取数据文件,获取相关数据;
4、创建画布,设置参数,如添加标题、图例、坐标轴、刻度等。
5、绘制相应的图形并进行美化。
五、题目:
使用stock.csv(股价表)的数据,利用Python绘制企业股票交易时间与成交金额的散点图。
六、相关代码:
# 散点图
#导入相关库
from pyecharts import options as opts
from pyecharts.charts import Scatter, Page
from pyecharts.globals import SymbolType
import pandas as pd
# 读取文件-stocks.csv,编码格式-gbk
stocks= pd.read_csv('stocks.csv', encoding='gbk')
# sql_num = "SELECT trade_date,open,close FROM stocks where trade_date>='2020-01-01'order by trade_date asc"
# 将trade_date转换为datetime类型
stocks['trade_date'] = pd.to_datetime(stocks['trade_date'])
#在此选用的是2020-1-01往后的数据
# 获取满足where条件的属性:trade_date>='2020-01-01'
stocks1 = stocks.loc[(stocks['trade_date'] >= '2020-01-01'),['trade_date','amount']]
#'trade_date',
# 排序:order by trade_date asc
stocks1 = stocks1.sort_values(by='trade_date', )
# 获取绘图数据
v1= stocks1['trade_date'].apply(lambda x:x.strftime('%y-%m-%d')).tolist()
v2= stocks1['trade_date']
v3= stocks1['amount']
c = ( Scatter()
.add_xaxis(v1 )
.add_yaxis( "交易时间",v2,label_opts=opts.LabelOpts(is_show=False))
.add_yaxis( "成交金额",v3,label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="企业股票趋势分析" , subtitle="股票交易时间和成交金额" ),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(type_="value" , min_=60 , axistick_opts=opts.AxisTickOpts(is_show=True),
splitline_opts=opts.SplitLineOpts(is_show=True)),
# 添加工具栏
toolbox_opts=opts.ToolboxOpts(),
# 添加图例
legend_opts=opts.LegendOpts(is_show=True)
)
)
# 展示图
c.render_notebook()