财经大数据分析-以Python为工具 课件 ch10-绘制股票日K线图-应用可视化表达_第1页
财经大数据分析-以Python为工具 课件 ch10-绘制股票日K线图-应用可视化表达_第2页
财经大数据分析-以Python为工具 课件 ch10-绘制股票日K线图-应用可视化表达_第3页
财经大数据分析-以Python为工具 课件 ch10-绘制股票日K线图-应用可视化表达_第4页
财经大数据分析-以Python为工具 课件 ch10-绘制股票日K线图-应用可视化表达_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python与财经大数据分析基础第10章

绘制股票日K线图——应用可视化表达

CONTENTS目录10.1Matplotlib安装10.2Matplotlib库的基础用法10.3Matplotlib库的常用技巧10.4应用实践应用场景分析:在金融数据分析中,数据可视化是至关重要的环节。所谓“千言万语,不如一图”,数据可视化可以直观的观测数据的分布规律和变化趋势。本章关于可视化的主要工具是Matplotlib(一个基于Python的2D绘图库),它能以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,也是利用Python实现可视化最基础的库。10.1Matplotlib安装10.1Matplotlib安装首先需要安装第三方Matplotlib库。如果已经安装Matplotlib库,请输入以下代码,验证是否安装成功。如果没有报错,则为成功安装。本教材使用的Matplotlib版本为3.5.2。不同版本在代码编写上略有差异,建议读者在学习时安装相同的版本。10.1Matplotlib安装当图中包含中文时,可能会产生乱码问题。如果出现中文乱码,读者可根据以下步骤进行设置。第一,输入In[3]代码,获得缓存文件夹路径。第二,打开命令提示符(Windows系统)或终端(MacOS系统),输入命令删除缓存文件夹下的文件,命令为rm-r/Users/user1/.matplotlib/*。读者需要注意两点:一是,这个命令不是在Python编辑器(如PyCharm或Jupyter)输入,而是在命令提示符或终端;二是,读者需要根据In[3]输出的路径进行设定。第三,下载SeiHei.ttf字体,并放入相应文件夹C:\Windows\Fonts(Windows系统)或~/.fonts(MacOS系统)。如果MacOS系统没有该文件夹,可在终端输入mkdir~/.fonts,创建文件夹。10.1Matplotlib安装在数据分析之前,需要导入相关包,包括numpy、pandas、matplotlib。In[4]#1设定numpy的随机种子数,确保随机数据相同;In[4]#2和In[4]#3分别对pandas设置列示全部的列和列的宽度;In[4]#4设置负数显示格式,如果不设置,当图形中包含负数时可能会乱码;In[4]#5设置字体,如果不设置,当图形中包含中文时可能会乱码。10.2Matplotlib库的基础用法10.2Matplotlib库的基础用法

通过matplotlib官方指南中给出的示意图可以发现,一个完整的图应具备:画板(Figure)、轴域(Axes)、横纵坐标线(Spines)及其标签(X/Yaxislabel)、主/子刻度(Major/Minortick)、网格(Grid)、线(Line)、标点(Markers)、图例(Legend)以及标题(Title)等。10.2Matplotlib库的基础用法10.2.1绘制柱形图(1)第1种方法10.2Matplotlib库的基础用法(2)第2种方法Matplotlib绘图时,首先需要确定一个合适大小的“画板”(figure),它是绘图元素的顶层容器。然后,我们在这个画板绘制各种图形元素。Matplotlib库使用figure()方法设定画板。10.2Matplotlib库的基础用法10.2Matplotlib库的基础用法(3)第3种方法在画板上也可以通过subplots()方法创建轴域。subplots()方法的基本语法如下。10.2Matplotlib库的基础用法10.2.2设置坐标轴刻度最小值和最大值Matplotlib绘图时会根据数据自动设置坐标轴刻度的最小值和最大值。我们可以通过set_xlim()方法和set_ylim()方法分别设置X轴和Y轴坐标轴刻度的最小值和最大值。10.2Matplotlib库的基础用法10.2.3设置坐标轴刻度(1)设置坐标轴主刻度Matplotlib绘图时会根据数据自动设置坐标轴主刻度。我们可以通过set_major_locator()方法设置坐标轴主刻度:使用yaxis.set_major_locator()方法设置Y轴主刻度;使用xaxis.set_major_locator()方法设置X轴主刻度。10.2Matplotlib库的基础用法set_major_locator()方法需要传入locator参数。对于数值型坐标轴,我们可以使用MultipleLocator()类进行设置。MultipleLocator()类为坐标轴每整数倍上设置刻度。10.2Matplotlib库的基础用法(2)设置坐标轴次刻度Matplotlib绘图时默认不显示坐标轴次刻度。我们可以通过set_minor_locator()方法设置坐标轴次刻度:使用yaxis.set_minor_locator()方法设置Y轴次刻度;使用xaxis.set_minor_locator()方法设置X轴次刻度。同样的,该方法需要传入locator参数。对于数值型坐标轴,我们也可以使用MultipleLocator()类进行设置。10.2Matplotlib库的基础用法10.2.4设置坐标轴刻度数字格式如果坐标轴主刻度为数值型,Matplotlib会根据数据自动设置数字格式,我们也可以通过set_major_formatter()方法设置坐标轴主刻度数字格式。10.2Matplotlib库的基础用法Matplotlib绘图时默认不显示坐标轴次刻度数字,我们通过set_minor_formatter()方法设置坐标轴次刻度数字格式。当坐标轴次刻度设置了set_minor_locator(),但没有设置set_minor_formatter(),图形只显示坐标轴次刻度,不显示次刻度数字;当坐标轴次刻度同时设置了set_minor_locator()和set_minor_formatter(),图形将显示坐标轴次刻度和次刻度数字。10.2Matplotlib库的基础用法set_major_formatter()方法和set_minor_formatter()方法需要传入formatter参数。我们可以使用FormatStrFormatter()类进行设置。FormatStrFormatter()类将格式化为字符串。10.2Matplotlib库的基础用法10.2.5设置坐标轴刻度标签(1)第1种方法10.2Matplotlib库的基础用法(2)第2种方法第2种设置坐标轴刻度标签为使用set_ticks()方法,第一个参数传入刻度位置列表,第二个参数传入刻度标签列表。10.2Matplotlib库的基础用法10.2.6设置坐标轴标签图像坐标轴缺乏相应的文字解释,读者有时并不知道X轴和Y轴对应的经济含义是什么,因此需要对坐标轴设置标签。我们通过set_label_text()方法进行设置。10.2Matplotlib库的基础用法10.2.7设置图标题我们通过set_title()方法设置图标题。10.2Matplotlib库的基础用法10.2.8设置网格线网格线是坐标轴上刻度线的延伸,穿过绘图区域。我们通过grid()方法设置网格线。10.2Matplotlib库的基础用法10.2.9设置数据标签当我们需要精确知道每个柱形条对应的数值时,可以通过bar_label()方法设置,呈现柱形图的数据标签。10.2Matplotlib库的基础用法10.2.10设置图例当我们需要精确知道每个柱形条对应的数值时,可以通过legend()方法设置,呈现柱形图的数据标签。10.3Matplotlib库的常用技巧10.3Matplotlib库的常用技巧10.3.1设置日期型坐标轴刻度和标签格式有时我们获得一组时间序列数据,例如贵州茅台2017年至2021年每天的收盘价。如果仍然列示每一条柱的X轴刻度(日期),可能会使得X轴刻度及其标签高度重叠。我们可以按照年度,只对X轴关键位置设置主刻度和次刻度,这样会使得图形更新清晰表达其所蕴藏的经济含义。我们通常可以使用YearLocator()、MonthLocator()方法设置日期型坐标轴刻度,使用DateFormatter()方法设置日期型坐标轴标签格式。10.3Matplotlib库的常用技巧10.3Matplotlib库的常用技巧10.3Matplotlib库的常用技巧10.3.2设置多系列数据设置多系列数据分为两种情况:第一种是共用Y轴;第二种是双Y轴。第一种共用Y轴比较简单,仅需要在轴域ax添加线条等对象即可。第二种双Y轴略微复杂些,当不同序系列数据的单位不相同时,则需要用到双Y轴图形。我们通过twinx()进行设置。10.3Matplotlib库的常用技巧10.3.3设置多子图/轴域我们可以通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论