Matplotlib入门学习
程序员文章站
2022-07-14 10:10:09
...
matplotlib.pyplot是绘制各类可视化图形的命令子库
import matplotlib.pyplot as plt
plt.plot(x, y, format_string, **kwargs)
- x:x轴数据,列表或数组,可选(绘制多条曲线时不可省略)
- y:y轴数据,列表或数组
- format_string:控制曲线的格式字符串,可选
- 颜色字符,如b表示蓝色,g表示绿色
- 风格字符,如‘-’表示实线,‘:’表示虚线
- 标记字符,如‘.’表示点标记,‘o’表示实心圆标记
- **kwargs:第二组或更多(x,y,format_string)
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(0.0,10.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.xlabel('横轴:时间', fontproperties='SimHei', fontsize=10, color='green') #对x轴添加文本标签.若为中文,则需要添加fontproperties属性
plt.ylabel('speed') #对y轴添加文本标签
plt.title(r'$y=cos(2\pi x)$') #对图形整体添加文本标签
#plt.text(2,1,r'$\mu=100$') #在坐标值是(2,1)的起始位置添加文本,$之间的是一个排版体系
plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))
# xy是箭头起始位置,xytext是文本起始位置,arrowprops是箭头的格式处理
plt.axis([-1,12,-2,2]) #表示横轴和竖轴分别显示坐标范围
plt.savefig('test',dpi=600) #将输出的图形存储为文件,默认是PNG格式,dpi表示输出质量
plt.grid(True) #是否显示网格
plt.show()
中文显示失败???
图形绘制子分区
第一种方法:
plt.subplot2grid(gridspec, curspec, colspan=1, rowspan=1)
- gridspec:一个元组,例如(3,3),表示3*3的网格
- curspec:一个元组,例如(1,1),表示选定表格的位置,第二行第二个
- colspan/rowspan:分别表示纵向和横向上合并几个单元格,可选
第二种方法:
GridSpac类
import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
gs = gridspec.GridSpec(3,3)
ax1 = plt.subplot(gs[0,:]) #表示第一行的所有列
ax2 = plt.subplot(gs[1,1]) #表示第二行第二个表格
ax3 = plt.subplot(gs[2,:-1]) #表示第三行前两个表格