Plot函数:
plot()的参数:plot(*args,**kwargs),其中args为x,y以及绘图线的颜色和类型。
matplotlib.lines.Line2D ¶
-
class
matplotlib.lines.
Line2D
(
xdata
,
ydata
,
linewidth = None
,
linestyle = None
,
color = None
,
marker = None
,
markersize = None
,
markeredgewidth = None
,
markeredgecolor = None
,
markerfacecolor = None
,
markerfacecoloralt ='none'
,
fillstyle = None
,
antialiased =无
,
dash_capstyle =无
,
solid_capstyle =无
,
dash_joinstyle =无
,
solid_joinstyle =无
,
pickradius = 5
,
drawstyle =无
,
markevery =无
,
** kwargs
)
Line2D
用序列xdata,ydata中的x 和y数据创建一个实例。
kwargs Line2D
属性:
属性 描述 agg_filter
一个过滤函数,它采用(m,n,3)浮点数组和一个dpi值,并返回一个(m,n,3)数组 alpha
浮动(0.0透明到1.0不透明) animated
布尔 antialiased
或者aa布尔 clip_box
一个 Bbox
实例clip_on
布尔 clip_path
[( Path
,Transform
)|Patch
| 没有]color
或者c任何matplotlib颜色 contains
一个可调用函数 dash_capstyle
['butt'| 'round'| “突出”] dash_joinstyle
['斜接'| 'round'| '斜角'] dashes
开/关墨水的点数 drawstyle
['default'| 'steps'| 'steps-pre'| 'steps-mid'| “步骤-交”] figure
一个 Figure
实例fillstyle
['full'| 'left'| 'right'| 'bottom'| 'top'| '没有'] gid
一个id字符串 label
目的 linestyle
或ls['solid'| 'dashed','dashdot','dotted'| (offset,on-off-dash-seq)| '-'
|'--'
|'-.'
|':'
|'None'
| | ]' '
''
linewidth
或者lw浮点值 marker
A valid marker style
markeredgecolor
或mec任何matplotlib颜色 markeredgewidth
或喵浮点值 markerfacecolor
或mfc任何matplotlib颜色 markerfacecoloralt
或mfcalt任何matplotlib颜色 markersize
或毫秒浮动 markevery
[无| int | int |的长度为2的元组 切片| 列表/数组的int | float | 长度为2的浮点元组] path_effects
AbstractPathEffect
picker
浮点距离点或可调用拾取功能 fn(artist, event)
pickradius
浮点距离 rasterized
布尔或无 sketch_params
(scale:float,length:float,randomness:float) snap
布尔或无 solid_capstyle
['butt'| 'round'| “突出”] solid_joinstyle
['斜接'| 'round'| '斜角'] transform
一个 matplotlib.transforms.Transform
实例url
一个url字符串 visible
布尔 xdata
1D阵列 ydata
1D阵列 zorder
浮动
*args是非关键字参数,用于元组,**kw是关键字参数,用于字典
** kwargs :
Line2D
属性,可选
kwargs用于指定属性,如线条标签(用于自动图例),线宽,抗锯齿,标记颜色。例:
>>> plot([1,2,3], [1,2,3], 'go-', label='line 1', linewidth=2)
>>> plot([1,2,3], [1,4,9], 'rs', label='line 2')
如果您使用一个绘图命令制作多行,则kwargs适用于所有这些行。
fmt : str,可选
格式字符串,例如红色圆圈的'ro'。有关 格式字符串的完整说明,请参阅注释部分。
格式字符串只是用于快速设置基本行属性的缩写。所有这些和更多也可以通过关键字参数来控制。
以下两个调用产生相同的结果:但与fmt冲突时,优先使用关键字参数。
>>> plot(x, y, 'go--', linewidth=2, markersize=12) >>> plot(x, y, color='green', marker='o', linestyle='dashed', linewidth=2, markersize=12)
显示数据点:在实际运用中,可能这样一条简单粗暴的线可能并不是我们想要的最好的结果,比如,想要在图形上显示原始数据点,很简单,只要在plot函数中加上一个参数即可: pl.plot(x, y, 'ob-') # 显示数据点,并用蓝色(blue)实现绘制该图形
axis()描述了坐标轴的度量:
plt.axis([0, 6, 0, 20])
下面是传入数组的情况:
import numpy as np
# evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)
# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
MATLAB和plt1都有当前figure和axes的概念
也就是说,通过
plt
进行的操作都是对当前图或子图进行的,所有的绘图命令都是针对当前figure和axes的。
gca()可以输出当前axes,gcf()可以输出当前figure。
颜色(color 简写为 c):
蓝色: 'b' (blue)
绿色: 'g' (green)
红色: 'r' (red)
蓝绿色(墨绿色): 'c' (cyan)
红紫色(洋红): 'm' (magenta)
黄色: 'y' (yellow)
黑色: 'k' (black)
白色: 'w' (white)
线型(linestyle 简写为 ls):
实线: '-'
虚线: '--'
虚点线: '-.'
点线: ':'
点: '.'
点型(标记marker):
像素: ','
圆形: 'o'
上三角: '^'
下三角: 'v'
左三角: '<'
右三角: '>'
方形: 's'
加号: '+'
叉形: 'x'
棱形: 'D'
细棱形: 'd'
三脚架朝下: '1'(像'丫')
三脚架朝上: '2'
三脚架朝左: '3'
三脚架朝右: '4'
六角形: 'h'
旋转六角形: 'H'
五角形: 'p'
垂直线: '|'
水平线: '_'
轴线命名:
传递的字符串一定要是Unicode编码:
pl.xlabel(u"我")
pl.ylabel(u"我")
label字符串参数也是一样务必加上u''声明为unicode编码,否则图例将会添加失败。
添加图例:
pl.plot(x, y, 'ob-', label=u'y=x^2曲线图') # 加上label参数添加图例
pl.legend() # 让图例生效
Title:pl.title(u'图像标题') # 字符串也需要是unicode编码
限制需要显示的坐标范围:
pl.xlim(-1, 11) # 限定横轴的范围
pl.ylim(-1, 110) # 限定纵轴的范围
如果需要在一幅图中显示多条线,可以在show函数调用前继续调用plot函数,传入需要绘制的数据和图形显示要求。
绘制多组数据
有多种方式绘制多组数据。
最直接的方式。例:
>>> plot(x1, y1, 'bo') >>> plot(x2, y2, 'go')
或者,如果您的数据已经是二维数组,您可以直接将它传递给x,y。将为每一列绘制一个单独的数据集。
例如:一个数组
a
,其中第一列代表x 值,其他列代表y列:>>> plot(a[0], a[1:])
第三种方法是指定多组[x],y,[fmt] 组:
>>> plot(x1, y1, 'g^', x2, y2, 'g-')
在这种情况下,任何其他关键字参数都适用于所有数据集。此语法也不能与数据 参数组合。
默认情况下,每行都分配有一个由“样式循环”指定的不同样式。只有在您希望明确偏离这些默认值时,才需要使用fmt和line属性参数。或者,您也可以使用'axes.prop_cycle'rcParam更改样式循环。
如果figure()和subplot()没有定义的话,都默认为figure(1)和subplot(111)。
figure()命令定义图片数和其他关键字参数。
例如: figure(1)
定义图片1; figure(2)
定义图片2……
subplot()命令定义子图数,横轴,纵轴,还可以定义其他的关键字参数。
例如: subplot(211)
定义子图1在第一行第一列; subplot(212)
定义子图2在第一行第二列……
PS1: 若子图数小于10,那么参数之间有没有逗号都无所谓。
PS2: 通过plt.axes([left, bottom, width, height])命令可以自由定义子图位置大小。