一般函数
plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test
plt.ylabel(‘Grade’) : y轴的名称
plt.axis([-1, 10, 0, 6]) : x轴起始于-1,终止于10 ,y轴起始于0,终止于6
plt.subplot(3,2,4) : 分成3行2列,共6个绘图区域,在第4个区域绘图。排序为行优先。也可 plt.subplot(324),将逗号省略。
.plot函数
plt.plot(x, y, format_string, **kwargs):
- x为x轴数据,可为列表或数组;
- y同理;
- format_string 为控制曲线的格式字符串;
- **kwargs 第二组或更多的(x, y, format_string)
format_string: 由 颜色字符、风格字符和标记字符组成。
- 颜色字符:‘b’蓝色 ;‘#008000’RGB某颜色;‘0.8’灰度值字符串
- 风格字符:‘-’实线;‘–’破折线; ‘-.’点划线; ‘:’虚线 ; ‘’‘’无线条
- 标记字符:‘.’点标记 ‘o’ 实心圈 ‘v’倒三角 ‘^’上三角
eg: plt.plot(a, a1.5, ‘go-’, a, a2, ‘*’) 第二条无曲线,只有点
.plot 显示中文字符
pyplot默认并不支持中文显示,需要 rcParams 修改字体来实现
rcParams的属性:
- ‘font.family’ 用于显示字体的名字
- ‘font.style’ 字体风格,正常’normal’ 或斜体’italic’
- ‘font.size’ 字体大小,整数字号或者’large’ ‘x-small’
eg:
import matplotlib
matplotlib.rcParams[‘font.family’] = ‘STSong’
matplotlib.rcParams[‘font.size’] = 20
设定绘制区域的全部字体变成 华文仿宋,字体大小为20
中文显示2:只希望在某地方绘制中文字符,不改变别的地方的字体
在有中文输出的地方,增加一个属性: fontproperties
eg : plt.xlabel(‘横轴:时间’, fontproperties = ‘simHei’, fontsize = 20)
pyplot文本显示函数:
- plt.xlabel():对x轴增加文本标签
- plt.ylabel():同理
- plt.title(): 对图形整体增加文本标签
- plt.text(): 在任意位置增加文本
plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict), 在图形中增加带箭头的注解。s表示要注解的字符串是什么,xy对应箭头所在的位置,xytext对应文本所在位置,arrowprops定义显示的属性。
eg:
plt.xlabel(‘横轴:时间’, fontproperties = ‘SimHei’, fontsize = 15, color = ‘green’)
plt.ylabel(‘纵轴:振幅’, fontproperties = ‘SimHei’, fontsize = 15)
plt.title(r’正弦波实例 $y=cons(2\pi x)$’ , fontproperties = ‘SimHei’, fontsize = 25)
plt.annotate (r’%mu=100$, xy = (2, 1), xytext = (3, 1.5),
arrowprops = dict(facecolor = ‘black’, shrink = 0.1, width = 2)) # width表示箭头宽度
plt.text (2, 1, r’$\mu=100$, fontsize = 15)
plt.grid(True)
plt. annotate(s, xy = arrow_crd, xytext = text_crd, arrowprops = dict)
plt子绘图区域
plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1):设定网格,选中网格,确定选中行列区域数量,编号从0开始。
eg:
plt.subplot2grid((3, 3), (1, 0), colspan = 2) , (3,3)表示分为3行3列,(1,0)表示选中第1行,第0列的区域进行绘图,colspan=2表示在选中区域的延伸。
GridSpec类
Plot的图表函数
- plt.plot(x,y , fmt) :绘制坐标图
- plt.boxplot(data, notch, position): 绘制箱形图
- plt.bar(left, height, width, bottom) : 绘制条形图
- plt.barh(width, bottom, left, height) : 绘制横向条形图
- plt.polar(theta, r) : 绘制极坐标图
- plt.pie(data, explode) : 绘制饼图
- plt.scatter(x, y) :绘制散点图
- plt.hist(x, bings, normed) : 绘制直方图
绘制饼图
explode表示突出,如橘色这一块突出;autopct 表示显示数据的格式; shadow表示二维饼图;startangle表示起始的角度;
此为椭圆形饼图,要为圆形,可添加: plt.axis(‘equal’)
bings将直方图的取值范围进行均等划分bings个区间;
normed =1 表示将出现频次进行了归一化。 normed=0,则为频次;
alpha表示直方图的透明度[0, 1] ;
histtype = ‘stepfilled’ 表示去除条柱的黑色边框
面向对象的极坐标图绘制
面向对象散点图绘制
将subplots()变成一个对象,fig和ax表示subplots生成的图表以及相关区域。subplots为空时,默认为subplots(111)。