数据分析之Matplotlib模块学习笔记(一)

又双叒到了晚上总结知识点的时候:
一个上午的matplotlib学习笔记,真的是很费脑子,需要记得东西太多了,大家记得复习哦.学过一遍忘了一遍是很正常的事,多复习把每个案例多敲一遍相信学习效果会最佳.
希望大家在数据分析的道路上披荆斩棘 冲冲冲!!!
数据分析之Matplotlib模块学习笔记(一)
文章图片

matplotlib 概述 matplotlib是python的一个绘图库.使用它可以很方便的绘制出版质量级别的图形
matplotlib的基本功能
1.基本绘图
1.设置线型,线宽,颜色
2.设置坐标轴范围及刻度
3.设置坐标轴属性
4.图例
5.绘制特殊点
6.备注
2.高级图形绘制
1.绘制子图
2.刻度定位器、刻度网格线
3.半对数坐标
4.散点图
(今日学习笔记到这里,点击数据分析(2)查看其它知识点)
5.填充图
6.条形图、饼状图
7.等高线图
8.热成像图
9.极坐标系
10.三维曲面
11.简单动画
matplotlib基本功能详解 基本绘图
绘图核心API 1.根据x,y坐标值数组绘制折线图(绘制一条线):

import numpy as np import matplotlib.pyplot as mp # xarray:x坐标值数组 # yarray:y坐标值数组 mp.plot(xarray,yarray) # 显示图像 mp.show()

2.绘制水平线与垂直线:
import matplotlib.pyplot as mp # 绘制垂直线,给出x坐标值,给出y的范围即可,val代表值 mp.vlines(val,ymin,ymax) # 绘制水平线,给出y坐标值,给出x的范围即可 mp.hlines(val,xmin,xmax)

案例1: 绘制直线,垂直,水平线
import numpy as np import matplotlib.pyplot as mpx = np.array([-1,2,3,4,5,6,7]) y = np.array([45,56,34,53,46,76,57])# 绘制关于x,y的坐标值数组的折线图 mp.plot(x,y) mp.show()# 绘制水平线,垂直线 mp.hlines(40,2,5) mp.vlines(3,10,90)mp.show()

案例2:绘制一条正弦曲线或余弦曲线
import numpy as np import matplotlib.pyplot as mp # 从-π ~ π 拆开1000个点,绘制sinx的曲线图 x = np.linspace(-np.pi,np.pi,1000) # sinx此时为1000个点的y坐标值 sinx = np.sin(x) mp.plot(x,sinx)# 绘制[-π,π]的1/2*cos(x)的曲线图 cosx = np.cos(x) mp.plot(x,sinx) mp.plot(x,cosx) mp.show()

3.设置 线型、线宽、颜色
# linestyle:线型 "-"(直线)"--"(虚线)":"(点线) # linewidth:线宽 # color:颜色 #1.常见颜色的英文单词 red blue green ... #2.常见英文单词的首字母 r b .. #3.类似于 '#abcdab' css文件十六进制颜色设置 #4.类似于rgb或rgba设置颜色方式: (1,1,1) 或 (0.8,0.6,1,0.5) 注意取值范围. # alpha:透明度 (有效值范围0-1) mp.plot(x,y,linestyle='',linewidth=1,color='',alpha=0.5)# 以下是部分示例代码 mp.plot(x,sinx,linestyle='-',linewidth=5,color='blue',alpha=0.7) mp.plot(x,cosx,linestyle='--',linewidth=3,color=('#abcdab'))

【数据分析之Matplotlib模块学习笔记(一)】4.自定义设置x,y坐标刻度
# 在正弦和余弦的图形基础上,把横坐标x的刻度显示为-π,0,π/2,π# x_val_list:x轴刻度值列表 # x_text_list:x轴相应值的刻度文本列表 mp.xtickes(x_val_list,x_text_list) mp.ytickes(y_val_list,y_text_list)# (延伸知识点)cookies: #r'$\frac{分子}{分母}$'以数学公式格式显示

案例:
import numpy as np import matplotlib.pyplot as mp x = np.linspace(-np.pi,np.pi,1000) sinx = np.sin(x) cosx = np.cos(x)/2 # 设置坐标轴刻度 x_val_list=[-np.pi,-np.pi /2 ,0,np.pi /2 ,np.pi] x_text_list = ['-π',r'$-\frac{\pi}{2}$',0,'-π/2','π'] mp.xticks(x_val_list,x_text_list) mp.plot(x,sinx,linestyle='--',linewidth=3,color='blue',alpha=0.9) mp.plot(x,cosx,linestyle='--',linewidth=3,color=(0.5,0.7,0.2)) mp.show()

4.1拓展:matplotlib支持的latex排版语法
r'$a^2+b^2=c^2$' r'$[a_1+a_2+...+a_n]$' r'$\frac{\pi}{2}$'

5.设置坐标轴
# 获取当前坐标轴 'left' 'right' 'top' 'bottom' (所有坐标轴) ax = mp.gca() # 获取其中某一个坐标轴 ax_left = ax.spines['left']# 1.设置坐标轴的位置 #type:移动坐标轴的参照类型 一般为'data'(以数据坐标轴做参照) #val:参照值 ax_left.set_position((type,val))# 2.设置坐标轴的颜色 #color:颜色值 若为'none',则隐藏当前坐标轴 ax_left.set_color(color)# 部分示例代码如下: # 设置坐标轴 ax = mp.gca() ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax_left = ax.spines['left'] ax_bottom = ax.spines['bottom'] ax_left.set_position(('data',0)) ax_bottom.set_position(('data',0))

6.图例(描述图形的信息)
显示两条曲线的图例。
# 在plot绘制曲线时,给出label描述当前曲线的标签 mp.plot(....,label='') mp.legend(loc='best')# 注意这两行代码的连用

7.绘制特殊点
# xpoints,ypoints数组代表选中的坐标对应的值#格式如下: mp.scatter(xarray, yarray, marker='',# 点型 s=60,# 大小 edgecolor='',# 边缘色 facecolor='',# 填充色 zorder=3# 绘制图层编号(越大越靠顶层) )# 部分示例代码如下: # 绘制两个特殊点 xpoints = [np.pi/2,np.pi/2] ypoints = [1,0] mp.scatter(xpoints,ypoints,marker='h',s=60,edgecolor='black',facecolor='black',zorder=30)

备注
#为特殊点添加备注. mp.annotate( r'$.....$',# 备注文本 xycoords='data',# 定位目标点所使用的参照坐标系 xy=(1,2),# 目标点的坐标 textcoords='offset points',# 定位文本位置使用的坐标系 xytext=(10,-30),# 备注文本的位置坐标 fontsize=14,# 字体大小 arrowprops = dict()# 箭头的样式 )# 其中:设置箭头样式 arrowprops=dict( arrowstyle = '->', # 箭头样式 )

案例示例图如下
数据分析之Matplotlib模块学习笔记(一)
文章图片

8.设置坐标轴的范围
通过设置坐标轴的范围区间,可以显示图像中的一部分内容。
# 设置x轴的可视区域 mp.xlim(x_min, x_max) # 设置y轴的可视区域 mp.ylim(y_min, y_max)

以上知识点为Matplotlib基本绘图功能
Matplotlib高级功能欢迎查看博主的数据分析(二)

    推荐阅读