又双叒到了晚上总结知识点的时候:
一个上午的matplotlib学习笔记,真的是很费脑子,需要记得东西太多了,大家记得复习哦.学过一遍忘了一遍是很正常的事,多复习把每个案例多敲一遍相信学习效果会最佳.
希望大家在数据分析的道路上披荆斩棘 冲冲冲!!!
matplotlib是python的一个绘图库.使用它可以很方便的绘制出版质量级别的图形
1.基本绘图
1.设置线型,线宽,颜色
2.设置坐标轴范围及刻度
3.设置坐标轴属性
4.图例
5.绘制特殊点
6.备注
2.高级图形绘制
1.绘制子图
2.刻度定位器、刻度网格线
3.半对数坐标
4.散点图
(今日学习笔记到这里,点击数据分析(2)查看其它知识点)
5.填充图
6.条形图、饼状图
7.等高线图
8.热成像图
9.极坐标系
10.三维曲面
11.简单动画
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 mp
x = 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'))
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 = '->', # 箭头样式
)
案例示例图如下
8.设置坐标轴的范围
通过设置坐标轴的范围区间,可以显示图像中的一部分内容。
# 设置x轴的可视区域
mp.xlim(x_min, x_max)
# 设置y轴的可视区域
mp.ylim(y_min, y_max)
Matplotlib高级功能欢迎查看博主的数据分析(二)