返回介绍

matplotlib Artist primitive

发布于 2024-05-19 17:48:42 字数 20709 浏览 0 评论 0 收藏 0

a. 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 的属性。其属性有:

  • 继承自 Artist 基类的属性: .alpha.animated.axes.clip_box 、. .clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder
  • .antialiased 或者 .aa 属性:一个布尔值。如果为 True 则表示线条是抗锯齿处理的
  • .color 或者 .c 属性:一个 matplotlib color 值,表示线条的颜色,
  • .dash_capstyle 属性:为 'butt' or 'round' or 'projecting' ,表示虚线头端类型
  • .dash_joinstyle 属性:为 'miter' or 'round' or 'bevel' ,表示虚线连接处类型
  • .dashes 属性:一个数值序列,表示虚线的实部、虚部的尺寸。如果为 (None,None) 则虚线成为实线
  • .drawstyle 属性:为 'default'or'steps'or'step-pre'or'step-mid'or'step-post' ,表示曲线类型。
    • 'default' :点之间以直线连接
    • 'steps*' :绘制阶梯图。其中 steps 等价于 steps-pre ,是为了保持兼容旧代码
  • .fillstyle 属性:为 'full'or'left'or'right'or'bottom'or'top'or'none' 表示 marker 的填充类型。
    • 'full' :填充整个 marker
    • none :不填充 marker
    • 其他值:表示填充一半 marker
  • .linestyle 或者 ls 属性:指定线型,可以为以下值:
    • '-' 或者 'solid' :表示实线
    • '--' 或者 dashed :表示虚线
    • '-.' 或者 dash_dot :表示点划线
    • ':' 或者 'dotted' :表示点线
    • 'None' 或者 ' ' 或者 '' :表示没有线条(不画线)
  • .linewidth 或者 lw 属性:为浮点值,表示线条宽度
  • .marker 属性:可以为一系列的字符串,如 '.'、','、'o'.... ,表示线条的 marker
  • .markeredgecolor 或者 .mec 属性:可以为 matplotlib color ,表示 marker 的边的颜色
  • .markeredgewidth 或者 .mew 属性:可以为浮点数,表示 marker 边的宽度
  • .markerfacecolor 或者 .mfc 属性:可以为 matplotlib color ,表示 marker 的前景色
  • .markerfacecoloralt 或者 .mfcalt 属性:可以为 matplotlib color ,表示 marker 的可选前景色
  • .markersize 或者 .ms 属性:可以为浮点数,表示 marker 的大小
  • .markevery 属性:指定每隔多少个点绘制一个 marker ,可以为以下值:
    • None :表示每个点都绘制 marker
    • N :表示每隔 N 个点绘制 marker ,从 0 开始
    • (start,N) :表示每隔 N 个点绘制 marker ,从 start 开始
    • [i,j,m,n] :只有点 i,j,m,nmarker 绘制
    • ...其他值参考文档
  • .pickradius 属性:浮点值,表示 pick radius
  • .solid_capstyle 属性:可以为 'butt'、'round'、'projecting' ,表示实线的头端类型
  • .sold_joinstyle 属性:可以为 'miter'、'round'、'bevel' ,表示实线连接处的类型
  • .xdata 属性:可以为一维的 numpy.array ,表示 x 轴数据
  • .ydata 属性:可以为一维的 numpy.array ,表示 y 轴数据

b. 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)

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

  • 继承自 Artist 基类的属性: .alpha.animated.axes.clip_box 、. .clip_on.clip_path.contains.figure.gid.label.picker.transform.url.visible.zorder
  • .backgroundcolor 属性:背景色,可以为任何 matplotlib color
  • .bbox 属性:文本框的边框。其值是 FancyBboxPatch 类的属性字典。
  • .color 属性:字体颜色,可以为任何 matplotlib color
  • .family 或者 .name 或者 .fontfamily 或者 .fontname 属性:字体的名字。可以是 string 或者 string list (表示可以为若干个名字,优先级依次递减)。 string 必须是一个真实字体的名字,或者一个字体的 class name
  • .fontproperties 或者 .font_properties 属性:字体的属性,值是一个 matplotlib.font_manager.FontProperties 实例(该实例一次性设置字体的很多属性,比如字体类型、字体名字、字体大小、宽度、...)
  • .horizontalalignment 或者 .ha 属性:水平对齐方式,可以为 'center'、'right'、'left'
  • .linespacing 属性:为浮点数,单位为 font size ,表示行间距
  • .multialignment 属性: multiline text 对齐方式,可以为 'left'、'right'、'center'
  • .position 属性:为一个元组 (x,y) ,表示文本框的位置
  • .rotation 属性:字体旋转角度。可以为下列值:
    • 浮点数,表示角度
    • 'vertical'、'horizontal'
  • .rotation_mode 属性:旋转模式。可以为下列值:
    • 'anchor' :文本首先对齐,然后根据对齐点来旋转
    • None :文本先旋转,再对齐
  • .size 或者 .fontsize 属性:字体大小。可以为下列值:
    • 浮点值,表示字体大小
    • 'xx-small'、'x-small'、'small'、'medium'、'large'、'x-large'、'xx-large'
  • .stretch 或者 .fontstretch 属性:字体沿水平方向的拉伸。可以为下列值:
    • 整数,在[0---1000]之间
    • 'ultra-condensed'、'extra-condensed'、'condensed'、'semi-condensed'、'normal'、'semi-expanded'、'expanded'、'extra-expanded'、'ultra-expanded'
  • .style 或者 .fontstyle 属性:字体样式,可以为 'normal'、'italic'、'oblique'
  • .text 属性:文本字符串,可以为任意字符串(他可以包含 '\n' 换行符或者 LATEX 语法)
  • .variant 或者 .fontvariant 属性:表示字体形变,可以为下列值: 'normal'、'small-caps'
  • .verticalalignment 或者 .ma 或者 .va 属性:表示文本的垂直对齐,可以为下列值:
    • 'center'、'top'、'bottom'、'baseline'
  • .weight 或者 .fontweight 属性:设置字体的 weight ,可以为下列值:
    • 一个整数值,在[0---1000]之间
    • 'ultralight'、'light'、'normal'、'regular'、'book'、'medium'、 'roman'、'semibold'、'demibold'、'demi'、'bold'、'heavy'、 'extrabold'、'black'
  • .x 属性:一个浮点值,表示文本框位置的 x
  • .y 属性:一个浮点值,表示文本框位置的 y

c. 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

  • s :文本框的文本字符串
  • xy :被解释的点的坐标
  • xytext :文本框放置的位置。如果为 None ,则默认取 xy
  • xycoordsxy 坐标系,默认取 'data' 坐标系(即 xy 是数据坐标系中的点)。可以为以下值:
    • 'figure points' :从 figure 左下角开始的点
    • 'figure pixesl' :从 figure 左下角开始的像素值
    • 'figure fraction'(0,0) 代表 figure 的左下角, (1,1) 代表 figure 的右上角
    • 'axes points' :从 axes 左下角开始的点
    • 'axes pixels' :从 axes 左下角开始的像素
    • 'axes fraction'(0,0) 代表 axes 的左下角, (1,1) 代表 axes 的右上角
    • 'data' :使用被标注对象的坐标系
    • 'offset points' :指定从 xy 的便宜点
    • 'polar' :极坐标系
  • textcoords :文本框坐标系(即 xytext 是文本坐标系中的点),默认等于 xycoords
  • arrowprops :指定文本框和被解释的点之间的箭头。如果不是 None ,则是一个字典,该字典设定了 matplotlib.lines.Line2D 的属性。
    • 如果该字典有一个 arrowstyle 属性,则该键对应的值也是一个字典,创建一个 FancyArrowsPatch 实例, 实例属性由该字典指定。
    • 如果该字典没有 arrowstyle 属性,则创建一个 YAArrow 实例,
  • annotation_clip :控制超出 axes 区域的 annotation 的显示。如果为 Trueannotation 只显示位于 axes 区域内的内容。
  • 额外的关键字参数全部是设置 Text 的属性

d. Legend

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

Legend(parent, handles, labels, loc=None, numpoints=None, markerscale
	=None, markerfirst=True, scatterpoints=None,
	scatteryo�sets=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)

其关键字参数为:

  • parent :持有该 legendartist
  • loc :图例的位置。其值可以为字符串或者数字:
    • best 或 0:自动计算
    • upper right 或 1: 右上角
    • upper left 或 2:上角
    • lower left 或 3:下角
    • lower right 或 4:右下角
    • right 或 5:右边
    • center left 或 6:中间偏左
    • center right 或 7:中间偏右
    • lower center 或 8:中间底部
    • upper center 或 9:中间顶部
    • center 或 10:正中央
  • handle :一个 artist 列表,添加这些 artistlegend
  • lebels :一个字符串列表添加到 legend
  • prop :字体属性
  • fontsize : 字体大小(只有 prop 未设置时有效)
  • markerscale : marker 的缩放比例(相对于原始大小)
  • markerfirst : 如果为 True ,则 marker 放在 label 左侧;否则 marker 放在 label 右侧
  • numpoints : the number of points in the legend for line
  • scatterpoints : the number of points in the legend for scatter plot
  • scatteryo�sets : a list of yo�sets for scatter symbols in legend
  • frameon : if True, draw a frame around the legend. If None, use rc
  • fancybox : if True, draw a frame with a round fancybox. If None, use rc
  • shadow : if True, draw a shadow behind legend
  • framealpha : If not None, alpha channel for the frame.
  • ncol : number of columns
  • borderpad : the fractional whitespace inside the legend border
  • labelspacing : the vertical space between the legend entries
  • handlelength : the length of the legend handles
  • handleheight : the height of the legend handles
  • handletextpad : the pad between the legend handle and text
  • borderaxespad : the pad between the axes and legend border
  • columnspacing :the spacing between columns
  • title : 图例的标题
  • bbox_to_anchor : the bbox that the legend will be anchored.
  • bbox_transform : the transform for the bbox. transAxes if Noneloc a location code
  • 其他关键字参数用于设置属性

属性为:

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

e. 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)

参数为:

  • edgecolor :可以为 matplotlib color ,表示边线条的颜色,若为 none 则表示无颜色
  • facecolor :可以为 matplotlib color ,表示前景色,若为 none 则表示无颜色
  • color 可以为 matplotlib color ,表示边线条和前景色的颜色。
  • linewidth :为浮点数,表示线条宽度
  • linestyle :指定线型,可以为以下值:
    • '-' 或者 'solid' :表示实线
    • '--' 或者 dashed :表示虚线
    • '-.' 或者 dash_dot :表示点划线
    • ':' 或者 'dotted' :表示点线
    • 'None' 或者 ' ' 或者 '' :表示没有线条(不画线)
  • antialiased :一个布尔值。如果为 True 则表示线条是抗锯齿处理的
  • hatch :设置 hatching pattern ,可以为下列的值:
    • '\''|''-''+''x''o''0''.''*'
  • fill :为布尔值。如果为 True 则填充图形,否则不填充
  • capstyle :为 'butt' or 'round' or 'projecting' ,表示线条头端类型
  • joinstyle :可以为 'miter'、'round'、'bevel' ,表示矩形线条接头类型
  • 其他关键字参数用于设置属性

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

属性如下:

  • 继承自 Artist 基类的属性: .alpha.animated.axes.clip_box 、. .clip_on.clip_path.contains.figure.gid.labelpath_e�ects.picker.transform.url.visible.zorder
  • .antialiased 或者 .aa 属性:一个布尔值。如果为 True 则表示线条是抗锯齿处理的
  • .capstyle 属性:为 'butt' or 'round' or 'projecting' ,表示线条头端类型
  • .color 属性:可以为 matplotlib color ,表示边线条和前景色的颜色。
  • .edgecolor 或者 .ec 属性:可以为 matplotlib color ,表示边线条的颜色,若为 none 则表示无颜色
  • .facecolor 或者 .fc 属性:可以为 matplotlib color ,表示前景色,若为 none 则表示无颜色
  • .fill 属性:为布尔值。如果为 True 则填充图形,否则不填充
  • .hatch 属性:设置 hatching pattern ,可以为下列的值:
    • '\''|''-''+''x''o''0''.''*'
  • .joinstyle 属性:可以为 'miter'、'round'、'bevel' ,表示矩形线条接头类型
  • .linestyle 或者 .ls 属性:指定线型,可以为以下值:
    • '-' 或者 'solid' :表示实线
    • '--' 或者 dashed :表示虚线
    • '-.' 或者 dash_dot :表示点划线
    • ':' 或者 'dotted' :表示点线
    • 'None' 或者 ' ' 或者 '' :表示没有线条(不画线)
  • .linewidth 或者 .lw 属性:为浮点数,表示线条宽度

f. Rectangle 类

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

  • xy :矩形左下角坐标
  • width :矩形宽度
  • height :矩形高度
  • 其他关键字参数用于设置属性

其属性有:

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

g. Polygon 类

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

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

Polygon 的属性有:

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

h. PolyCollection 类

matplotlib.collections.PolyCollection 是多边形集合类,其基类是 matplotlib.collections._CollectionWithSizes 。它的构造函数为:

PolyCollection(verts, sizes=None, closed=True, **kwargs)

其关键字参数为:

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

下面为属性:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文