python 之matplotlib.plot

4 篇文章 0 订阅
1 篇文章 0 订阅

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序列xdataydata中的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[(PathTransform)| 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浮点值
markerA valid marker style
markeredgecolor 或mec任何matplotlib颜色
markeredgewidth 或喵浮点值
markerfacecolor 或mfc任何matplotlib颜色
markerfacecoloralt 或mfcalt任何matplotlib颜色
markersize 或毫秒浮动
markevery[无| int | int |的长度为2的元组 切片| 列表/数组的int | float | 长度为2的浮点元组]
path_effectsAbstractPathEffect
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布尔
xdata1D阵列
ydata1D阵列
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')
    
  • 或者,如果您的数据已经是二维数组,您可以直接将它传递给xy将为每一列绘制一个单独的数据集。

    例如:一个数组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])命令可以自由定义子图位置大小。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值