Mark 对象属性#

坐标属性#

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

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

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

../_images/properties_3_0.png

一个 Continuous 刻度也可以在数据值和空间位置之间应用非线性转换。

../_images/properties_5_0.png

颜色属性#

color, fillcolor, edgecolor#

所有 Mark 都可以指定 color,并且许多 Mark 区分 Mark 的“边缘”和“填充”的颜色。通常,简单地使用 color 将同时设置两者,而更具体的属性允许进一步控制。

../_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 属性决定了 Mark 的不透明度。降低 alpha 可以帮助在过度绘制的情况下表示密度。

../_images/properties_14_0.png

即使 Mark 不重叠,映射 alpha 属性也很有用,因为它传达了重要性的感觉,并且可以与 color 刻度相结合来表示两个变量。此外,alpha 值较低的颜色看起来不那么饱和,这可以改善更大的填充 Mark(如条形图)的外观。

color 一样,一些 Mark 为额外的控制定义了单独的 edgealphafillalpha 属性。

样式属性#

fill#

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

../_images/properties_18_0.png

marker#

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

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

../_images/properties_21_0.png

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

../_images/properties_23_0.png

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

标记属性始终使用名义刻度映射;不同的形状之间没有固有的顺序。如果未提供刻度,则绘图将以编程方式生成一组适当大的唯一标记。

../_images/properties_25_0.png

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

注意

默认标记刻度可能会在未来的版本中发生变化,以提高辨识度。

linestyle, edgestyle#

linestyle 属性与线 Mark 相关,而 edgestyle 属性与许多具有“边缘”的 Mark 相关。这两个属性都决定了线以“虚线”的形式表示,以“开”和“关”的线段表示。

可以使用少量简写代码 ('-''--''-.'':') 或以编程方式使用 (on, off, ...) 元组来指定虚线。在元组规范中,单位等于线宽。

../_images/properties_28_0.png

尺寸属性#

pointsize#

pointsize 属性与点 Mark 和可以显示单个数据点处的标记的线 Mark 相关。单位对应于 Mark 的直径(以点为单位)。

请注意,虽然参数化对应于直径,但刻度将使用平方根转换进行应用,以便数据值与面积成线性比例。

../_images/properties_31_0.png

linewidth#

linewidth 属性与线 Mark 相关,并决定它们的厚度。该值应为非负数,并以点为单位。

../_images/properties_33_0.png

edgewidth#

edgewidth 属性类似于 linewidth,但应用于具有边缘/填充的 Mark,而不是线。它在刻度中使用时也有不同的默认范围。单位是相同的。

../_images/properties_35_0.png

stroke#

stroke 属性类似于 edgewidth,但应用于由其描边而不是填充定义的点 Mark。它也有一个略微不同的默认刻度范围,但其他行为类似。

../_images/properties_37_0.png

文本属性#

halign, valign#

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

../_images/properties_40_0.png

fontsize#

fontsize 属性控制文本 Mark 的大小。该值以点为单位。

../_images/properties_42_0.png

offset#

offset 属性控制文本 Mark 与其锚定位置之间的间距。它在使用 center 对齐方式(即,使用 left/right 或 top/bottom)时应用。该值以点为单位。

../_images/properties_44_0.png

其他属性#

text#

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

group#

group 属性很特殊,它不会改变标记的外观,而是定义了额外的独立数据子集,这些子集将由转换操作。