4-1 Matplotlib 概述
Matplotlib概述
In [1]:
import numpy as np
import matplotlib.pyplot as plt #pyplot是matplotlib的画图的接口
%matplotlib inline 魔法指令,作用:省略之后的plt.show()的步骤
In [3]:
%matplotlib inline
1.基本画图
In [6]:
plt.plot([1,2,3,4,5],[1,4,9,16,25])#折线图,取值范围会自动设置
plt.xlabel('xlable',fontsize=16)#添加x轴lable,fontsize=16是字体大小设置
plt.ylabel('ylable')#添加y轴lable
Out[6]:
2.画图属性的设置和合并多个线条画图方式
常用的线条样式和颜色:
字符 | 描述 |
---|---|
'-' | 实线样式 |
'--' | 短横线样式 |
'-.' | 点划线样式 |
':' | 虚线样式 |
'.' | 点标记 |
',' | 像素标记 |
'o' | 圆标记 |
'v' | 倒三角标记 |
'^' | 正三角标记 |
'<' | 左三角标记 |
'>' | 右三角标记 |
'1' | 下箭头标记 |
'2' | 上箭头标记 |
'3' | 左箭头标记 |
'4' | 右箭头标记 |
's' | 正方形标记 |
'p' | 五边形标记 |
'*' | 星形标记 |
'h' | 六边形标记 1 |
'H' | 六边形标记 2 |
'+' | 加号标记 |
'x' | X 标记 |
'D' | 菱形标记 |
'd' | 窄菱形标记 |
'|' | 竖直线标记 |
以下是颜色的缩写:
字符 | 颜色 |
---|---|
'b' | 蓝色 |
'g' | 绿色 |
'r' | 红色 |
'c' | 青色 |
'm' | 品红色 |
'y' | 黄色 |
'k' | 黑色 |
'w' | 白色 |
2-1 指定线条样式和颜色
In [8]:
plt.plot([1,2,3,4,5],[1,4,9,16,25],':',color='r')#':'是线条样式,color='r'是颜色指定
plt.xlabel('xlable',fontsize=16)
plt.ylabel('ylable',fontsize=16)
Out[8]:
In [10]:
plt.plot([1,2,3,4,5],[1,4,9,16,25],'r-.')#'r-.'可以合并写线条样式和颜色
plt.xlabel('xlable',fontsize=16)
plt.ylabel('ylable',fontsize=16)
Out[10]:
In [16]:
tang_numpy=np.arange(0,10,0.5)
plt.plot(tang_numpy,tang_numpy,'r-.')#一次方
plt.plot(tang_numpy,tang_numpy**2,'bs')#二次方
plt.plot(tang_numpy,tang_numpy**3,'yo')#三次方
Out[16]:
In [17]:
tang_numpy=np.arange(0,10,0.5)
plt.plot(tang_numpy,tang_numpy,'r-.',
tang_numpy,tang_numpy**2,'bs',
tang_numpy,tang_numpy**3,'yo')#合并所有要画的图
Out[17]:
2-2指定线条宽度linewidth
In [24]:
x=np.linspace(-10,10)
y=np.sin(x)
plt.plot(x,y,linewidth=3)
Out[24]:
2-3 其他绘图属性
- linestyle=':',marker='o'|指定线条样式和函数里的标志样式
- markerfacecolor='r',markersize='10'|指定标志的颜色和大小
In [29]:
plt.plot(x,y,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize='10')
Out[29]:
2-4 设置透明度:alpha:0-1,从透明到不透明
In [39]:
line=plt.plot(x,y)#先画图
plt.setp(line,color='r',linewidth=2.0,alpha=0.3)#再设置属性
Out[39]:
3.画子图
3-1画各种子图
In [41]:
plt.subplot(211)#两行一列的一个子图
plt.plot(x,y,color='r')
plt.subplot(212)#两行一列的二个子图
plt.plot(x,y,color='b')
Out[41]:
In [42]:
plt.subplot(121)#一行两列的一个子图
plt.plot(x,y,color='r')
plt.subplot(122)#一行两列的二个子图
plt.plot(x,y,color='b')
Out[42]:
In [43]:
plt.subplot(321)
plt.plot(x,y,color='r')
plt.subplot(324)
plt.plot(x,y,color='b')
Out[43]:
3-2 给图加注释
- plt.annotate()函数解析(最清晰的解释):https://blog.csdn.net/qq_36387683/article/details/101377416 plt.annotate()函数中的xy指定箭头指向的位置;xytext指定箭头文本的位置
3-2-1 arrowprops #箭头参数,参数类型为字典dict
- width:箭头的宽度(以点为单位)
- headwidth:箭头底部以点为单位的宽度
- headlength:箭头的长度(以点为单位)
- shrink:总长度的一部分,从两端“收缩”
- facecolor:箭头颜色
In [69]:
plt.plot(x,y,color='b',linestyle=':',marker='o',markerfacecolor='r',markersize='10')
plt.xlabel('x:---')
plt.ylabel('y:---')
plt.title('tang y:---')#图标题
plt.text(0,0,'tangyudi')#在某一点加注释
plt.grid(True)#加网格
plt.annotate('MRJ',xy=(-5,0),xytext=(-2,0.1),arrowprops=dict(facecolor='black',shrink=3,width=5,headwidth=10,headlength=2))
Out[69]:
此资源来自https://www.cnblogs.com/AI-robort/,博客园的karina512。