scikit-learn:matplotlib.pyplot常用画图功能总结(1)

参考:http://matplotlib.org/api/pyplot_api.html

画图功能总结(2):http://blog.csdn.net/mmc2015/article/details/48222611


1、matplotlib.pyplot.plot(*args**kwargs),最简单的沿坐标轴划线函数

下面四种格式都合法:

plot(x, y)        # plot x and y using default line style and color
plot(x, y, 'bo')  # plot x and y using blue circle markers
plot(y)           # plot y using x as index array 0..N-1
plot(y, 'r+')     # ditto, but with red plusses

import numpy as np
import matplotlib.pyplot as plt

x1=np.arange(0,5,0.1)
y1=np.sin(x1)
x2=np.linspace(1,10,20,True)
y2=np.cos(x2)

plt.plot(x1,y1,'b^')

 
  scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第1张图片 
  

也可以同时画一组图:

plt.plot(x1, y1, 'go', x2, y2, 'r-')
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第2张图片

如果颜色不显示指出,则默认循环使用不同的颜色,支持的颜色有:

character color
‘b’ blue
‘g’ green
‘r’ red
‘c’ cyan
‘m’ magenta
‘y’ yellow
‘k’ black
‘w’ white
支持的line style有:

character description
'-' 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
添加图例:

plt.plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
plt.plot([1,2,3], [1,4,9], 'rs',  label='line 2')
plt.legend()
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第3张图片

指定坐标范围:

plt.plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
plt.plot([1,2,3], [1,4,9], 'rs',  label='line 2')
plt.axis([0, 4, 0, 10])
plt.legend()
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第4张图片

添加坐标轴说明和标题说明

plt.plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
plt.plot([1,2,3], [1,4,9], 'rs',  label='line 2')
plt.axis([0, 4, 0, 10])
plt.xlabel('data x')
plt.ylabel('target y')
plt.title('test plot')
plt.legend()

scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第5张图片
添加网格

plt.grid()
plt.legend(['3','4','5'], loc='upper right')  
plt.show()
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第6张图片


上面所有的格式都可以通过关键词来控制(格式,即参数kwargs

plot(x, y, color='green', linestyle='dashed', marker='o', markerfacecolor='blue', markersize=12).
The kwargs are  Line2D  properties:

Property Description
agg_filter unknown
alpha float (0.0 transparent through 1.0 opaque)
animated [True | False]
antialiased or aa [True | False]
axes an Axes instance
clip_box matplotlib.transforms.Bbox instance
clip_on [True | False]
clip_path [ (PathTransform) | Patch | None ]
color or c any matplotlib color
contains a callable function
dash_capstyle [‘butt’ | ‘round’ | ‘projecting’]
dash_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
dashes sequence of on/off ink in points
drawstyle [‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’]
figure matplotlib.figure.Figure instance
fillstyle [‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’]
gid an id string
label string or anything printable with ‘%s’ conversion.
linestyle or ls ['-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth or lw float value in points
lod [True | False]
marker A valid marker style
markeredgecolor or mec any matplotlib color
markeredgewidth or mew float value in points
markerfacecolor or mfc any matplotlib color
markerfacecoloralt or mfcalt any matplotlib color
markersize or ms float
markevery [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
path_effects unknown
picker float distance in points or callable pick function fn(artist, event)
pickradius float distance in points
rasterized [True | False | None]
sketch_params unknown
snap unknown
solid_capstyle [‘butt’ | ‘round’ | ‘projecting’]
solid_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
transform matplotlib.transforms.Transform instance
url a url string
visible [True | False]
xdata 1D array
ydata 1D array
zorder any number


2、matplotlib.pyplot.scatter(xys=20c=u'b'marker=u'o'cmap=Nonenorm=Nonevmin=Nonevmax=Nonealpha=Nonelinewidths=None,verts=Nonehold=None**kwargs)散点图

本质上和plot没甚区别,但要注意:

1)不能同时画多个曲线,plt.scatter(x1, y1, c='b', marker='o', x2, y2, c='r', marker='^', s=5)不合法。

2)color、marker等不能同时作为一个参数,plt.scatter(x1, y1, 'bo', s=5)不合法。

3)给个例子:

plt.scatter(x1, y1, c='b', marker='o', s=5)
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第7张图片

4)我们看到,scatter会自动在坐标的头尾加上“延长”的部分,但plot如果不指定axis,则不会延长。

5)为了同时在一个图上画多条曲线,可以使用hold关键字:

When hold is True, subsequent plot commands will be added to the current axes. When hold is False, the current axes and figure will be cleared on the next plot command.

plt.scatter(x1, y1, s=10, c='b', marker='o', label='test plot 1')
plt.hold(True)
plt.scatter(x2, y2, s=5, c='r', marker='^', label='test plot 2')
plt.legend()
scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第8张图片

如果不使用hold,效果如下:

plt.scatter(x1, y1, s=10, c='b', marker='o', label='test plot 1')
plt.hold(False)
plt.scatter(x2, y2, s=5, c='r', marker='^', label='test plot 2')
plt.legend()

scikit-learn:matplotlib.pyplot常用画图功能总结(1)_第9张图片



待续。。。。













你可能感兴趣的:(常用画图功能,机器学习画图,pyplot,matplotlib,scikit-learn)