plot绘图折线图
线条属性
线条属性有很多,如:
color:线条颜色,值r表示红色(red)
marker:点的形状,值o表示点为圆圈标记(circle marker)
linestyle:线条的形状,值dashed表示用虚线连接各点
axis:坐标轴范围,语法为axis([xmin,xmax,ymin,ymax])
绘制出红色的虚线,且节点为圆点,坐标轴范围为x[0,6],y[0,20]
用数组绘图
numpy.arange(0,5,0.2) 表示在[0,5]范围中,每增加0.2取一个数值的阵列集合
**表示幂运算,比如10**20表示10的20次方
plt.setp(变量名,属性)可同时设置多个线条的属性
添加文本注释
xlabel:x坐标轴的文字
ylabel:y坐标轴的文字
title:图表的标题文字
annotate(#注释文本,xy,xytext,arrowprops):添加注释文本的语句,其中xy指箭头的坐标,xytext为注释文本的起始坐标,arrowprops设置箭头的属性,facecolor表示箭头的颜色,shrink表示箭头两端收缩的百分比(占总长)
在画板上画多个图
subplot表示几行几列的子图阵列,前面两个数字表示几行几列,第三个数字表示在几行几列里处于第几个,如subplot(2,1,1)表示子图阵列排列成两行一列,该阵列处与第一个
plot([1,2,3])表示以(0,1),(1,2),(2,3)三个点的折线
在这里使用一个股票数据分析的案例进行分析
在使用股票数据前,需要提前安装远程获取金融数据的工具包pandas_datareader
安装方法为在cmd中输入:
pip install pandas-datareader
安装的同时因为没有关闭Anaconda Navigator软件,出现红色字体的报错
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
原因为网络请求超时,关闭Anaconda Navigator软件后重新安装解决
安装后在Anaconda Navigator中试验代码
import pandas as pd
from pandas_datareader import data
若不报错即安装成功
我当时在运行此代码时出现报错:
AttributeError:type object pandas._TSObject has no attribute _reduce_cython_
经查询并反复修改,得知是因为pandas_datareader工具包的版本与pandas版本不匹配,在cmd重新安装pandas后解决,语句如下:
pip uninstall pandas
pip install pandas
获取股票数据需要三个变量:股票代码,开始时间(start_date),结束时间(end_date)
data.get_data_yahoo: 从雅虎财经数据里提取股票信息
股票数据的行索引,该行索引是时间序列数据
股票数据的行信息,包括多少行,每列数据是什么类型,有没有空值
股票数据的每列数据类型
股票数据的描述统计信息
阿里巴巴的股价走势图
代码运行后出现报错,报错语句如下:
报错显示没有可用的index列,将语句改为x='Date',会直接显示错误就在'Date'列
试着转换了Date列的数据类型也不管用,直接将x=babaDf.index语句删除,改为:
babaDf.plot(y='Close')
再运行后可以出图,说明默认值即Date列
可以看出2017年阿里巴巴的股价走势很好
阿里巴巴的成交量与股价关系图
kind='scatter' 表示曲线类型为散点图
常见的图表分六种
图标类型默认为折线图
可以看出点的分布大都在左侧
相关系数矩阵
可以看到交易量Volume与收盘价Close的相关系数为0.415189,大于0,呈正相关关系,是市场积极看好的表现
2. 各个股票的股价对比
折线图(Line)——各个股票的股价走势图
让多个曲线出现在同一图表中,只需要将绘制第一个曲线的图纸生成一个变量(如:ax1),再将其他曲线的图纸变量赋值为第一个图纸变量(ax=ax1)
label为曲线的标签
可以看出谷歌与亚马逊的股价太高,与其他四个公司的股价相差太远,可以将其分开显示,以便更直观的发现各公司的股价趋势
柱状图(bar)——各个股票平均值对比
箱线图(box)——各个股票的变化幅度对比
notebook排版是用markdown语法实现的
markdown语句
输入上述文字并点击运行,即生成各级标题
2. markdown定义无序列表与有序列表
在文本前输入*符号,即生成无序列表;在文本前输入序号,即生成有序列表
3. markdown定义加粗与斜体
在文本前后各加两个*,即变为粗体;在文本前后各加一个*,即变为斜体
4. markdown定义超链接与插入图片
超链接与插入图片的区别在于插入图片前加一个!符号
5. markdown定义引用
> 这里是引用
6. markdown定义水平线与换行
三个-符号即可完成换行或分割线的功能
7. markdown运行幻灯片
在cmd中输入:jupyter nbconvert 文件路径 --to slides --post serve
即可生成该文件的幻灯片版本,并自动运行