一、如何使用matplotlib
使用Python绘图时需要记住以下两张图中画板与画纸的相关概念
根据数据类型的不同,采用不同的视觉元素来表示,每一种视觉元素都有对应的图形绘制方式
matplotlib是Python的绘图库,用来做数据可视化图表
matplotlib.pyplot是matplotlib的子库,主要用于实现各种数据展示图形的绘制
pyplot的引用如下:
import matplotlib.pyplot as plt
线条属性有很多,设置线条属性可查文档:matplotlib.lines.Line2D – Matplotlib 3.3.2 documentationmatplotlib.org
如果matplotlib加入的参数只能是列表的话,这对数据处理很不利。一般,我们传入的是numpy的数组。实际上,所有参入的值内部都会转换为numpy的数组。
numpy的arange用于生成一个一维的等差数组
运算符**,表示幂 – 返回x的y次幂,例如10**20表示10的20次方
详细见文档《Python3运算符》:Python3 运算符 | 菜鸟教程www.runoob.com
下图中黄色覆盖文字区域为添加文本的代码
显示结果的图形中坐标轴标签与图形标签有中文乱码,解决方法如下:
添加完中文配置文件后,重新添加文本
绘制多个图形
subplot()方法里面传入的三个数字
前两个数字代表要生成几行几列的子图矩阵,第三个数字代表选中的子图位置
subplot(211)生成一个2行1列的子图矩阵,当前是第一个子图
如果没有指明画板figure()和子图subplot,会默认创建一个画板figure(1) 和一个子图subplot(111)
二、如何使用pandas绘图
需要先在navigator中安装两个包:pandas,和互联数据获取包pandas-datareader。
注意:
在安装包的名称是连接符‘-’也就是pandas-datareader。但是在notebook里导入包的连接符是下划线‘_’,也就是pandas_datareader,这里一定要注意安装和导入包这两个连接符是不一样的,不然无法导入使用。
1. 导入包
2. 获取多家公司的股票数据
2.1 阿里巴巴的股票数据
get_data_yahoo表示从雅虎数据源获取股票数据,官网使用操作文档:Remote Data Accesspandas-datareader.readthedocs.io
可能存在的问题:
1)由于是从国外获取股票数据,会由于网络不稳定,获取数据失败,多运行几次这个cell就好了
2)如果多运行几次还是无法获的股票数据,使用这个链接里的方法:fix-yahoo-financepypi.org
3)如果经过上面2个方法还不行,打开这个官网使用文档https://pandas-datareader.readthedocs.io/en/latest/remote_data.htmlpandas-datareader.readthedocs.io
换其他的财经数据源试试
2.2 谷歌的股票数据
2.3 亚马逊的股票数据
2.4 Facebook的股票数据
2.5 苹果的股票数据
2.6 腾讯的股票数据
3. 数据可视化
折线图:绘制股票走势
分析结果:通过图中显然可以看出2017年阿里巴巴的股票价格总体趋势是增长的,是该年值得投资的一家公司。
1e7表示1乘以10的7次方
每行每列交叉处即为该行于该列的相关系数
GAFATA股价走势比较
因为谷歌和亚马逊的股价比较高,造成我们看不出其他4家公司的股票走势。 所以根据股价我们可以将这6家公司分成2组,一组是股价较高的谷歌和亚马逊。另外一组是股价较低的4家公司。
柱状图:六家公司股票的平均值
分析结果:可以看出,仅从股票价格上来判断,亚马逊和谷歌的股票价格要远远的超过了其他四家。但是这里只是算的平均值,下面我们看下用四分位数绘制的箱线图