Mark 对象的属性#

坐标属性#

x, y, xmin, xmax, ymin, ymax#

坐标属性决定了标记在图表上的绘制位置。通常,x 坐标是水平位置,y 坐标是垂直位置。一些标记接受一个范围(即 min, max)参数化,用于一个或两个变量。其他标记可能接受 xy,但也使用 baseline 参数来显示一个范围。图层的 orient 参数决定了这是如何工作的。

如果一个变量不包含数值数据,其刻度将应用转换,以便数据可以在屏幕上绘制。例如,标称 刻度为每个不同的类别分配一个整数索引,而 时间 刻度将日期表示为从参考“纪元”开始的天数。

../_images/properties_3_0.png

一个 连续 尺度也可以在数据值和空间位置之间应用非线性变换:

../_images/properties_5_0.png

颜色属性#

颜色, 填充颜色, 边缘颜色#

所有标记都可以指定一个 颜色,并且许多标记区分标记的“边缘”和“填充”颜色。通常,仅使用 颜色 会同时设置两者,而更具体的属性允许进一步控制:

../_images/properties_8_0.png

当颜色属性被映射时,默认调色板取决于比例类型。名义比例使用离散、无序的色调,而连续比例(包括时间比例)使用顺序渐变:

../_images/properties_10_0.png

备注

默认的连续刻度在未来的版本中可能会发生变化,以提高区分度。

颜色刻度由调色板名称参数化,例如 'viridis''rocket''deep'。一些调色板名称可以包含参数,包括简单的渐变(例如 'dark:blue')或 cubehelix 系统(例如 'ch:start=.2,rot=-.4`)。有关如何做出适当选择的指导,请参阅 颜色调色板教程

连续尺度也可以通过一个颜色元组来参数化,该元组表示尺度应在这些颜色之间进行插值。在使用名义尺度时,可以提供调色板名称(如有必要,将进行离散采样)、单个颜色值列表,或直接映射数据值到颜色的字典。

单个颜色可以通过 多种格式 指定。这些格式包括当前颜色循环的索引引用('C0')、单字母缩写('b')、灰度值('.4')、RGB 十六进制代码('#4c72b0')、X11 颜色名称('seagreen')以及 XKCD 颜色调查名称('purpleish'):

../_images/properties_12_0.png

alpha, fillalpha, edgealpha#

alpha 属性决定了标记的不透明度。在重叠绘图的情况下,降低 alpha 值有助于表示密度:

../_images/properties_14_0.png

映射 alpha 属性在标记不重叠时也很有用,因为它传达了一种重要性的感觉,并且可以与 color 比例结合来表示两个变量。此外,较低的 alpha 值的颜色显得不那么饱和,这可以改善较大填充标记(如条形)的外观。

color 类似,某些标记定义了单独的 edgealphafillalpha 属性以进行额外的控制。

样式属性#

填充#

fill 属性与边缘和内部有区别的标记相关,并决定内部是否可见。它是一个布尔状态:fill 只能设置为 TrueFalse

../_images/properties_18_0.png

标记#

marker 属性与点标记和某些线标记相关。指定标记的API非常灵活,如matplotlib API文档中所述:matplotlib.markers

标记可以使用多个简单的字符串代码来指定:

../_images/properties_21_0.png

它们也可以使用 (num_sides, fill_style, angle) 元组以编程方式生成:

../_images/properties_23_0.png

请参阅 matplotlib 文档以获取其他格式,包括 mathtex 字符代码('$...$')和顶点数组。

标记属性总是与名义尺度映射;不同的形状没有内在的顺序。如果没有提供尺度,绘图将自动生成一组足够大的唯一标记:

../_images/properties_25_0.png

虽然这确保了形状在技术上是不同的,但请记住——在大多数情况下——如果在单个图中使用超过几个标记,将很难区分这些标记。

备注

默认的标记比例在未来的版本中可能会发生变化,以提高区分度。

linestyle, edgestyle#

linestyle 属性与线条标记相关,而 edgestyle 属性与具有“边缘”的多个标记相关。这两个属性决定了线条的“虚线”效果,即开-关段落。

破折号可以通过少量速记代码('-''--''-.'':')指定,或者使用 (on, off, ...) 元组以编程方式指定。在元组规范中,单位等于线宽:

../_images/properties_28_0.png

尺寸属性#

点大小#

pointsize 属性与点标记以及可以在单个数据点显示标记的线标记相关。单位对应于标记的直径,以点为单位。

需要注意的是,尽管参数化对应于直径,但比例尺将应用平方根变换,以便数据值与面积成线性比例:

../_images/properties_31_0.png

linewidth#

linewidth 属性与线条标记相关,并确定其厚度。该值应为非负数,并以点为单位:

../_images/properties_33_0.png

edgewidth#

edgewidth 属性类似于 linewidth,但它适用于带有边缘/填充的标记,而不是线条。当在比例尺中使用时,它也有一个不同的默认范围。单位是相同的:

../_images/properties_35_0.png

stroke#

stroke 属性类似于 edgewidth,但当点标记由其描边而不是填充定义时适用。它也有一个稍有不同的默认比例范围,但在其他方面行为类似:

../_images/properties_37_0.png

文本属性#

halign, valign#

halignvalign 属性控制文本标记的 水平垂直 对齐方式。水平对齐的选项有 'left''right''center',而垂直对齐的选项有 'top''bottom''center''baseline''center_baseline'

../_images/properties_40_0.png

字体大小#

fontsize 属性控制文本标记的大小。值以点为单位:

../_images/properties_42_0.png

偏移#

offset 属性控制文本标记与其锚定位置之间的间距。它适用于不使用 center 对齐(即,使用左/右或上/下对齐)时。该值以点为单位。

../_images/properties_44_0.png

其他属性#

文本#

text 属性用于设置文本标记的内容。它总是按字面意思使用(不映射),并在必要时转换为字符串。

#

group 属性是特殊的,因为它不会改变标记的外观,但定义了转换应独立操作的额外数据子集。