python matplotlib.pyplot学习记录

matplotlib是python中很强大的绘图工具,在机器学习中经常用到

首先是导入

import matplotlib.pyplot as plt

plt中有很多方法,记录下常用的方法

plt.plot()该方法用来画图,第一个参数是y值,第二个参数是x值,第三个参数是由两个值构成的字符串,第一个值是颜色,第二个值是线的类型

颜色的可选值有

‘b’ blue
‘g’ green
‘r’ red
‘c’ cyan
‘m’ magenta
‘y’ yellow
‘k’ black
‘w’ white

线的类型有

'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker

如‘r.’即红色的点

可以一次性画出多个点

plt.plot([1,2,3,4])会画出一条经过(0,1),(1,2),(2,3),(3,4)的直线

如果没有指定x值,默认从0,开始,步长为1

plt.scatter()

画散点图

常用的参数有

x,y 即x,y轴的值,是个类似数组的对象

c ,颜色,可以是一个颜色字符串如‘r’,也可以是一个颜色的序列长度和x,y相同

具体的用法可以上官网搜索

plt.axis([xmin, xmax, ymin, ymax])指定x轴和y轴的起始点和结束点

plt.xlabel('x')

plt.ylabel('y')

为x,y轴分别指定一个名字

plt.figure()画多张图,传入一个递增的数字

plt.subplot(numrows, numcols, fignum)将图分成numrows行,numcols列

plt.clf()清除之前画的点

plt.cla()清除当前轴

plt.text(x1,x2,text)在某个点上添加文字

plt.title(title)给图取个标题

plt.show()将图显示出来

plt.axvline(x=0,ymin=0,ymax=1,hold=None, **kwargs)

在轴上添加一条垂直线,默认是在图的底部到顶部x=0处画一条垂直线

x,垂直线的x坐标

ymin, 在0-1之间,0是底部,1是顶部,默认0

ymax,在0-1之间,0是底部,1是顶部,默认1

plt.axhspan(ymin, ymax, xmin=0,xmax=1, hold=None, **kwargs)

绘制从yminymax的水平跨度(矩形)使用xmin = 0和xmax = 1 的默认值

plt.axhline(y=0,xmax=0,ymax=1, hold=None, **kwargs)

同axvline,在轴上添加一条水平线

plt.yticks()

获取或设置y轴上坐标点

axis是设置起始点和结束点,yticks可以设置中间点,xticks同

plt.ylim()

获取或这是y轴的起始点和结束点,xlim同,两者结合即axis

画3D散点图

from mpl_toolkits.mplot3d import Axes3D(不导入的话会报错,没有3d的projection)

ax = plt.subplot(111, projection='3d')

ax.scatter(X,Y,Z,c='red')

plt.show()

官方文档http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot

posted @ 2017-12-08 13:33  菲菲菲菲菲常新的新手  阅读(506)  评论(0编辑  收藏  举报