python折线图多个颜色_Python绘图与制作分析报告入门

python折线图多个颜色_Python绘图与制作分析报告入门_第1张图片

一、使用Python绘图包:matplotlib进行绘图

plot绘图折线图

python折线图多个颜色_Python绘图与制作分析报告入门_第2张图片

线条属性

线条属性有很多,如:

color:线条颜色,值r表示红色(red)

marker:点的形状,值o表示点为圆圈标记(circle marker)

linestyle:线条的形状,值dashed表示用虚线连接各点

axis:坐标轴范围,语法为axis([xmin,xmax,ymin,ymax])

python折线图多个颜色_Python绘图与制作分析报告入门_第3张图片

绘制出红色的虚线,且节点为圆点,坐标轴范围为x[0,6],y[0,20]

用数组绘图

python折线图多个颜色_Python绘图与制作分析报告入门_第4张图片

numpy.arange(0,5,0.2) 表示在[0,5]范围中,每增加0.2取一个数值的阵列集合

**表示幂运算,比如10**20表示10的20次方

plt.setp(变量名,属性)可同时设置多个线条的属性

添加文本注释

python折线图多个颜色_Python绘图与制作分析报告入门_第5张图片

xlabel:x坐标轴的文字

ylabel:y坐标轴的文字

title:图表的标题文字

annotate(#注释文本,xy,xytext,arrowprops):添加注释文本的语句,其中xy指箭头的坐标,xytext为注释文本的起始坐标,arrowprops设置箭头的属性,facecolor表示箭头的颜色,shrink表示箭头两端收缩的百分比(占总长)

在画板上画多个图

python折线图多个颜色_Python绘图与制作分析报告入门_第6张图片

subplot表示几行几列的子图阵列,前面两个数字表示几行几列,第三个数字表示在几行几列里处于第几个,如subplot(2,1,1)表示子图阵列排列成两行一列,该阵列处与第一个

plot([1,2,3])表示以(0,1),(1,2),(2,3)三个点的折线

二、使用pandas进行绘图

在这里使用一个股票数据分析的案例进行分析

在使用股票数据前,需要提前安装远程获取金融数据的工具包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
  1. 从财经数据源获得阿里巴巴股票数据

python折线图多个颜色_Python绘图与制作分析报告入门_第7张图片

获取股票数据需要三个变量:股票代码,开始时间(start_date),结束时间(end_date)

data.get_data_yahoo: 从雅虎财经数据里提取股票信息

股票数据的行索引,该行索引是时间序列数据

python折线图多个颜色_Python绘图与制作分析报告入门_第8张图片

股票数据的行信息,包括多少行,每列数据是什么类型,有没有空值

python折线图多个颜色_Python绘图与制作分析报告入门_第9张图片

股票数据的每列数据类型

python折线图多个颜色_Python绘图与制作分析报告入门_第10张图片

股票数据的描述统计信息

python折线图多个颜色_Python绘图与制作分析报告入门_第11张图片

阿里巴巴的股价走势图

python折线图多个颜色_Python绘图与制作分析报告入门_第12张图片

代码运行后出现报错,报错语句如下:

dbfe5a2373b6677c23445aa076324bf8.png

报错显示没有可用的index列,将语句改为x='Date',会直接显示错误就在'Date'列

试着转换了Date列的数据类型也不管用,直接将x=babaDf.index语句删除,改为:

babaDf.plot(y='Close')

再运行后可以出图,说明默认值即Date列

python折线图多个颜色_Python绘图与制作分析报告入门_第13张图片

可以看出2017年阿里巴巴的股价走势很好

阿里巴巴的成交量与股价关系图

python折线图多个颜色_Python绘图与制作分析报告入门_第14张图片

kind='scatter' 表示曲线类型为散点图

常见的图表分六种

  • line(折线图):展示趋势
  • scatter (散点图):展示分布(机械学习中经常使用)
  • bar (柱状图):主要是多项目的趋势比较
  • pie (饼图):展示分布
  • box (箱型图):展示单个项目数据的分布细节
  • heatmap (热力图):列表表示数据相对大小

图标类型默认为折线图

可以看出点的分布大都在左侧

相关系数矩阵

python折线图多个颜色_Python绘图与制作分析报告入门_第15张图片

可以看到交易量Volume与收盘价Close的相关系数为0.415189,大于0,呈正相关关系,是市场积极看好的表现

2. 各个股票的股价对比

折线图(Line)——各个股票的股价走势图

python折线图多个颜色_Python绘图与制作分析报告入门_第16张图片

让多个曲线出现在同一图表中,只需要将绘制第一个曲线的图纸生成一个变量(如:ax1),再将其他曲线的图纸变量赋值为第一个图纸变量(ax=ax1)

label为曲线的标签

可以看出谷歌与亚马逊的股价太高,与其他四个公司的股价相差太远,可以将其分开显示,以便更直观的发现各公司的股价趋势

python折线图多个颜色_Python绘图与制作分析报告入门_第17张图片

python折线图多个颜色_Python绘图与制作分析报告入门_第18张图片

柱状图(bar)——各个股票平均值对比

python折线图多个颜色_Python绘图与制作分析报告入门_第19张图片

python折线图多个颜色_Python绘图与制作分析报告入门_第20张图片

箱线图(box)——各个股票的变化幅度对比

python折线图多个颜色_Python绘图与制作分析报告入门_第21张图片

python折线图多个颜色_Python绘图与制作分析报告入门_第22张图片

三、使用Notebook制作数据分析报告

notebook排版是用markdown语法实现的

markdown语句

  1. markdown定义标题

9f6cd5b0f6dbced9bc3cbed23520ab7c.png

输入上述文字并点击运行,即生成各级标题

python折线图多个颜色_Python绘图与制作分析报告入门_第23张图片

2. markdown定义无序列表与有序列表

python折线图多个颜色_Python绘图与制作分析报告入门_第24张图片

在文本前输入*符号,即生成无序列表;在文本前输入序号,即生成有序列表

9b1d88e4e23cb3ebcd922669cdc3c0e9.png

af05e5da14dfc65de7db49d01196a7d8.png

3. markdown定义加粗与斜体

17b68350cd2968cffa89a5838a03d316.png

在文本前后各加两个*即变为粗体;在文本前后各加一个*,即变为斜体

ec4d761d2aef1ceba48a050d6addcddc.png

4. markdown定义超链接与插入图片

63fffeda149ffe2234d69afa5d34d9ab.png

超链接与插入图片的区别在于插入图片前加一个!符号

python折线图多个颜色_Python绘图与制作分析报告入门_第25张图片

5. markdown定义引用

> 这里是引用

4e79e65b0dee1de048ec4682891c3dc6.png

6. markdown定义水平线与换行

fed7a04a62cf35a852485b6d5a90eb2f.png

三个-符号即可完成换行或分割线的功能

df52422bd07b31e0b28799d7e586c092.png

7. markdown运行幻灯片

1dc5f6b58b7e8b2c1ca80fc9c72cd692.png

在cmd中输入:jupyter nbconvert 文件路径 --to slides --post serve

即可生成该文件的幻灯片版本,并自动运行

你可能感兴趣的:(python折线图多个颜色)