码迷,mamicode.com
首页 > 其他好文 > 详细

matplotlib---2.2Artist【primitive】

时间:2020-01-08 23:23:17      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:类型   tco   构造   fir   mode   tis   frame   否则   prim   

三、primitive

1.Line2D类

matplotlib.lines.Line2D类是matplotlib中的曲线类(基类是matplotlib.artist.Artist),它可以有各种各样的颜色、类型、以及标注等等。它的构造函数为:

Line2D(xdata, ydata, linewidth=None, linestyle=None,
  color=None, marker=None, markersize=None, markeredgewidth
  =None, markeredgecolor=None, markerfacecolor
  =None, markerfacecoloralt=’none’, fillstyle=None,
  antialiased=None, dash_capstyle=None, solid_capstyle=None,
  dash_joinstyle=None, solid_joinstyle=None, pickradius=5,
  drawstyle=None, markevery=None, **kwargs)

 

这些关键字参数都是Line2D的属性。其属性有:

 

  1. 继承自Artist基类的属性:.alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder

  2. .antialiased或者.aa属性:一个布尔值。如果为True则表示线条是抗锯齿处理的

  3. .color或者.c属性:一个matplotlib color值,表示线条的颜色,

  4. .dash_capstyle属性:‘butt‘ or ‘round‘ or ‘projecting‘,表示虚线头端类型

  5. .dash_joinstyle属性:‘miter‘ or ‘round‘ or ‘bevel‘,表示虚线连接处类型

  6. .dashes属性:一个数值序列,表示虚线的实部、虚部的尺寸。如果为(None,None)则虚线成为实线

  7. .drawstyle属性:‘default‘or‘steps‘or‘step-pre‘or‘step-mid‘or‘step-post‘,表示曲线类型。

    1. ‘default‘:点之间以直线连接
    2. ‘steps*‘:绘制阶梯图。其中steps等价于steps-pre,是为了保持兼容旧代码
  8. .fillstyle属性:‘full‘or‘left‘or‘right‘or‘bottom‘or‘top‘or‘none‘表示marker的填充类型。

    1. ‘full‘:填充整个marker
    2. none:不填充marker
    3. 其他值:表示填充一半marker
  9. .linestyle或者ls属性:指定线型,可以为以下值:

    1. ‘-‘或者‘solid‘:表示实线
    2. ‘--‘或者dashed:表示虚线
    3. ‘-.‘或者dash_dot:表示点划线
    4. ‘:‘或者‘dotted‘:表示点线
    5. ‘None‘或者‘ ‘或者‘‘:表示没有线条(不画线)
  10. .linewidth或者lw属性:为浮点值,表示线条宽度

  11. .marker属性:可以为一系列的字符串,如‘.‘、‘,‘、‘o‘....,表示线条的marker

  12. .markeredgecolor或者.mec属性:可以为matplotlib color,表示marker的边的颜色

  13. .markeredgewidth或者.mew属性:可以为浮点数,表示marker边的宽度

  14. .markerfacecolor或者.mfc属性:可以为matplotlib color,表示marker的前景色

  15. .markerfacecoloralt或者.mfcalt属性:可以为matplotlib color,表示marker的可选前景色

  16. .markersize或者.ms属性:可以为浮点数,表示marker的大小

  17. .markevery属性:指定每隔多少个点绘制一个marker,可以为以下值:

    1. None:表示每个点都绘制marker
    2. N:表示每隔N个点绘制marker,从0开始
    3. (start,N):表示每隔N个点绘制marker,从start开始
    4. [i,j,m,n]:只有点i,j,m,nmarker绘制
    5. ...其他值参考文档
  18. .pickradius属性:浮点值,表示pick radius

  19. .solid_capstyle属性:可以为‘butt‘、‘round‘、‘projecting‘,表示实线的头端类型

  20. .sold_joinstyle属性:可以为‘miter‘、‘round‘、‘bevel‘,表示实线连接处的类型

  21. .xdata属性:可以为一维的numpy.array,表示x轴数据

  22. .ydata属性:可以为一维的numpy.array,表示y轴数据

2.Text类

matplotlib.text.Text类是绘制文字的类(基类是matplotlib.artist.Artist)。它的构造函数为:

Text(x=0, y=0, text=‘‘, color=None, verticalalignment=‘baseline‘,
  horizontalalignment=’left’, multialignment=None, fontproperties
  =None, rotation=None, linespacing=None, rotation_
  mode=None, usetex=None, wrap=False, **kwargs)

 

这些关键字参数也是属性。其属性有:

 

  1. 继承自Artist基类的属性:.alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder

  2. .backgroundcolor属性:背景色,可以为任何matplotlib color

  3. .bbox属性:文本框的边框。其值是FancyBboxPatch类的属性字典。

  4. .color属性:字体颜色,可以为任何matplotlib color

  5. .family或者.name或者.fontfamily或者.fontname属性:字体的名字。可以是string或者string list(表示可以为若干个名字,优先级依次递减)。string必须是一个真实字体的名字,或者一个字体的class name

  6. .fontproperties或者.font_properties属性:字体的属性,值是一个matplotlib.font_manager.FontProperties实例(该实例一次性设置字体的很多属性,比如字体类型、字体名字、字体大小、宽度、...)

  7. .horizontalalignment或者.ha属性:水平对齐方式,可以为‘center‘、‘right‘、‘left‘

  8. .linespacing属性:为浮点数,单位为font size,表示行间距

  9. .multialignment属性:multiline text对齐方式,可以为‘left‘、‘right‘、‘center‘

  10. .position属性:为一个元组(x,y),表示文本框的位置

  11. .rotation属性:字体旋转角度。可以为下列值:

    1. 浮点数,表示角度
    2. ‘vertical‘、‘horizontal‘
  12. .rotation_mode属性:旋转模式。可以为下列值:

    1. ‘anchor‘:文本首先对齐,然后根据对齐点来旋转
    2. None:文本先旋转,再对齐
  13. .size或者.fontsize属性:字体大小。可以为下列值:

    1. 浮点值,表示字体大小
    2. ‘xx-small‘、‘x-small‘、‘small‘、‘medium‘、‘large‘、‘x-large‘、‘xx-large‘
  14. .stretch或者.fontstretch属性:字体沿水平方向的拉伸。可以为下列值:

    1. 整数,在[0---1000]之间
    2. ‘ultra-condensed‘‘extra-condensed‘‘condensed‘‘semi-condensed‘‘normal‘‘semi-expanded‘‘expanded‘‘extra-expanded‘‘ultra-expanded‘
  15. .style或者.fontstyle属性:字体样式,可以为‘normal‘、‘italic‘、‘oblique‘

  16. .text属性:文本字符串,可以为任意字符串(他可以包含‘\n‘换行符或者LATEX语法)

  17. .variant或者.fontvariant属性:表示字体形变,可以为下列值:‘normal‘、‘small-caps‘

  18. .verticalalignment或者.ma或者.va属性:表示文本的垂直对齐,可以为下列值:

    1. ‘center‘、‘top‘、‘bottom‘、‘baseline‘
  19. .weight或者.fontweight属性:设置字体的weight,可以为下列值:

    1. 一个整数值,在[0---1000]之间
    2. ‘ultralight‘‘light‘‘normal‘‘regular‘‘book‘、‘medium‘‘roman‘‘semibold‘‘demibold‘‘demi‘‘bold‘‘heavy‘‘extrabold‘‘black‘
  20. .x属性:一个浮点值,表示文本框位置的x

  21. .y属性:一个浮点值,表示文本框位置的y

3.Annotation类  

matplotlib.text.Annotation类是图表中的图式,它是一个带箭头的文本框,用于解说图表中的图形。它的基类是matplotlib.text.Textmatplotlib.text._AnnotationBase。其构造函数为:

Annotation(s, xy, xytext=None, xycoords=’data’, textcoords=None, arrowprops
  =None, annotation_clip=None, **kwargs)

在位置xytext处放置一个文本框,该文本框用于解释点xy,文本框的文本为s

  1. s文本框的文本字符串

  2. xy被解释的点的坐标

  3. xytext文本框放置的位置。如果为None,则默认取xy

  4. xycoordsxy坐标系,默认取‘data‘坐标系(即xy是数据坐标系中的点)。可以为以下值:

    1. ‘figure points‘:从figure左下角开始的点
    2. ‘figure pixesl‘:从figure左下角开始的像素值
    3. ‘figure fraction‘(0,0)代表figure的左下角,(1,1)代表figure的右上角
    4. ‘axes points‘:从axes左下角开始的点
    5. ‘axes pixels‘:从axes左下角开始的像素
    6. ‘axes fraction‘(0,0)代表axes的左下角,(1,1)代表axes的右上角
    7. ‘data‘:使用被标注对象的坐标系
    8. ‘offset points‘:指定从xy的偏移点
    9. ‘polar‘:极坐标系
  5. textcoords文本框坐标系(即xytext是文本坐标系中的点),默认等于xycoords

  6. arrowprops指定文本框和被解释的点之间的箭头。如果不是None,则是一个字典,该字典设定了matplotlib.lines.Line2D的属性。

    1. 如果该字典有一个arrowstyle属性,则该键对应的值也是一个字典,创建一个FancyArrowsPatch实例,实例属性由该字典指定。
    2. 如果该字典没有arrowstyle属性,则创建一个YAArrow实例,
  7. annotation_clip控制超出axes区域的annotation的显示。如果为Trueannotation 只显示位于axes区域内的内容。

  8. 额外的关键字参数全部是设置Text的属性

4.Legend  

matplotlib.legend.Legend是图例类,它的基类是matplotlib.artist.Artist。其构造函数为:

  Legend(parent, handles, labels, loc=None, numpoints=None, markerscale
  =None, markerfirst=True, scatterpoints=None,
  scatteryoffsets=None, prop=None, fontsize=None, borderpad
  =None, labelspacing=None, handlelength=None,
  handleheight=None, handletextpad=None, borderaxespad
  =None, columnspacing=None, ncol=1, mode=None,
  fancybox=None, shadow=None, title=None, framealpha
  =None, bbox_to_anchor=None, bbox_transform=None,
  frameon=None, handler_map=None)

其关键字参数为:

  1. parent:持有该legendartist

  2. loc图例的位置。其值可以为字符串或者数字:

    1. best或0:自动计算
    2. upper right或1: 右上角
    3. upper left或2:上角
    4. lower left或3:下角
    5. lower right或4:右下角
    6. right或5:右边
    7. center left或6:中间偏左
    8. center right或7:中间偏右
    9. lower center或8:中间底部
    10. upper center或9:中间顶部
    11. center或10:正中央
  3. handle一个artist列表,添加这些artistlegend

  4. lebels一个字符串列表添加到legend

  5. prop:字体属性

  6. fontsize: 字体大小(只有prop未设置时有效)

  7. markerscalemarker的缩放比例(相对于原始大小)

  8. markerfirst: 如果为True,则marker放在label左侧;否则marker放在label右侧

  9. numpoints: the number of points in the legend for line

  10. scatterpoints: the number of points in the legend for scatter plot

  11. scatteryoffsets: a list of offsets for scatter symbols in legend

  12. frameon: if True, draw a frame around the legend. If None, use rc

  13. fancybox: if True, draw a frame with a round fancybox. If None, use rc

  14. shadow: if True, draw a shadow behind legend

  15. framealpha: If not None, alpha channel for the frame.

  16. ncol: number of columns

  17. borderpad: the fractional whitespace inside the legend border

  18. labelspacing: the vertical space between the legend entries

  19. handlelength: the length of the legend handles

  20. handleheight: the height of the legend handles

  21. handletextpad: the pad between the legend handle and text

  22. borderaxespad: the pad between the axes and legend border

  23. columnspacingthe spacing between columns

  24. title: 图例的标题

  25. bbox_to_anchor: the bbox that the legend will be anchored.

  26. bbox_transform: the transform for the bbox. transAxes if Noneloc a location code

  27. 其他关键字参数用于设置属性

属性为:

  1. 继承自Artist基类的属性: .alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder

5.Patch类

matplotlib.patches.Patch类是二维图形类。它的基类是matplotlib.artist.Artist。其构造函数为: 

Patch(edgecolor=None, facecolor=None, color=None,
  linewidth=None, linestyle=None, antialiased=None,
  hatch=None, fill=True, capstyle=None, joinstyle=None,
  **kwargs)

参数为:

  1. edgecolor:可以为matplotlib color,表示边线条的颜色,若为none则表示无颜色

  2. facecolor:可以为matplotlib color,表示前景色,若为none则表示无颜色

  3. color可以为matplotlib color,表示边线条和前景色的颜色。

  4. linewidth:为浮点数,表示线条宽度

  5. linestyle指定线型,可以为以下值:

    1. ‘-‘或者‘solid‘:表示实线
    2. ‘--‘或者dashed:表示虚线
    3. ‘-.‘或者dash_dot:表示点划线
    4. ‘:‘或者‘dotted‘:表示点线
    5. ‘None‘或者‘ ‘或者‘‘:表示没有线条(不画线)
  6. antialiased:一个布尔值。如果为True则表示线条是抗锯齿处理的

  7. hatch:设置hatching pattern,可以为下列的值:

    1. ‘\‘‘|‘‘-‘‘+‘‘x‘‘o‘‘0‘‘.‘‘*‘
  8. fill:为布尔值。如果为True则填充图形,否则不填充

  9. capstyle:为‘butt‘ or ‘round‘ or ‘projecting‘,表示线条头端类型

  10. joinstyle:可以为‘miter‘、‘round‘、‘bevel‘,表示矩形线条接头类型

  11. 其他关键字参数用于设置属性

如果 edgecolor, facecolor, linewidth, or antialiased 为None则这些值从rc params中读取

属性如下:

  1. 继承自Artist基类的属性:.alpha.animated.axes.clip_box、..clip_on.clip_path.contains、 .figure.gid.labelpath_effects.picker.transform.url.visible、 .zorder

  2. .antialiased或者.aa属性:一个布尔值。如果为True则表示线条是抗锯齿处理的

  3. .capstyle属性:‘butt‘ or ‘round‘ or ‘projecting‘,表示线条头端类型

  4. .color属性:可以为matplotlib color,表示边线条和前景色的颜色。

  5. .edgecolor或者.ec属性:可以为matplotlib color,表示边线条的颜色,若为none则表示无颜色

  6. .facecolor或者.fc属性:可以为matplotlib color,表示前景色,若为none则表示无颜色

  7. .fill属性:为布尔值。如果为True则填充图形,否则不填充

  8. .hatch属性:设置hatching pattern,可以为下列的值:

    1. ‘\‘‘|‘‘-‘‘+‘‘x‘‘o‘‘0‘‘.‘‘*‘
  9. .joinstyle属性:可以为‘miter‘、‘round‘、‘bevel‘,表示矩形线条接头类型

  10. .linestyle或者.ls属性:指定线型,可以为以下值:

    1. ‘-‘或者‘solid‘:表示实线
    2. ‘--‘或者dashed:表示虚线
    3. ‘-.‘或者dash_dot:表示点划线
    4. ‘:‘或者‘dotted‘:表示点线
    5. ‘None‘或者‘ ‘或者‘‘:表示没有线条(不画线)
  11. .linewidth或者.lw属性:为浮点数,表示线条宽度

6.Rectangle类  

matplotlib.patches.Rectangle类是矩形类(基类是matplotlib.patches.Patch),其构造函数为:Rectangle(xy,width,height,angle=0.0,**kwargs)

参数为:

  1. xy矩形左下角坐标
  2. width矩形宽度
  3. height矩形高度
  4. 其他关键字参数用于设置属性

其属性有:

  1. 继承自Artist基类的属性: .alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder
  2. 继承自Patch基类的属性: .antialiased或者.aa.capstyle.color.edgecolor或者.ec.facecolor或者.fc.fill.hatch.joinstyle.linestyle或者.ls.linewidth或者.lw属性

7.Polygon类

matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch。其构造函数为: Polygon(xy, closed=True, **kwargs)

参数为:

  1. xy是一个N×2numpy array,为多边形的顶点。
  2. closedTrue则指定多边形将起点和终点重合从而显式关闭多边形。
  3. 其他关键字参数用于设置属性

Polygon的属性有:

  1. 继承自Artist基类的属性: .alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder
  2. 继承自Patch基类的属性: .antialiased或者.aa.capstyle.color.edgecolor或者.ec.facecolor或者.fc.fill.hatch.joinstyle.linestyle或者.ls.linewidth或者.lw属性

8.PolyCollection类

matplotlib.collections.PolyCollection是多边形集合类,其基类是matplotlib.collections._CollectionWithSizes。它的构造函数为:PolyCollection(verts, sizes=None, closed=True, **kwargs)

其关键字参数为:

  1. verts一个顶点序列。每个顶点都由xy元组或者xy数组组成
  2. sizes一个浮点数序列,依次指定每个顶点正方形的边长。如果序列长度小于顶点长度,则循环从序列头部再开始 挑选
  3. closed如果为True,则显式封闭多边形
  4. edgecolors: collection的边的颜色
  5. 其他关键字参数用于设置属性

下面为属性:

  1. 继承自Artist基类的属性: .alpha.animated.axes.clip_box、..clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder
  2. .facecolors: collection的前景色
  3. .linewidths: collection的边线宽
  4. .antialiaseds:抗锯齿属性,可以为True或者False
  5. .offsets: 设置collection的偏移
  6. .norm: 归一化对象
  7. .cmap:color map

matplotlib---2.2Artist【primitive】

标签:类型   tco   构造   fir   mode   tis   frame   否则   prim   

原文地址:https://www.cnblogs.com/nxf-rabbit75/p/12168936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!