概览
您可以使用线形或 K 线标记将多种图表类型结合使用,以突出显示数据趋势或显示方差。当您将折线图或 K 线标记添加到条形图、散点图或其他图表类型上时,生成的图表称为复合图表。一些复合图表看起来像是两种图表类型的结合,例如包含跟踪线的条形图:
而其他图表则是全新的图表类型,例如箱形图表:
.
创建复合图表
所有复合图表都由一种或多种基本图表类型(折线图、散点图、条形图或雷达图表)与一组或多组标记组合而成。 这些标记需要数据才能将其放置在图表上。有时,您可以使用与在图表上绘制条形或点时所用的同一数据系列,但通常情况下,您希望标记拥有自己的独立数据集。如果您希望基本图表和标记使用不同的数据系列,则必须对基本图表隐藏标记数据(这样系统就不会尝试使用这些数据绘制更多条形或折线)。请按照以下说明执行操作:
- 在
chd
参数的末尾添加标记数据系列。 例如,如果您的条形图包含数据chd=t:30,10,20
,您可以为折线标记添加新数据,如下所示:chd=t:30,10,20|60,40,50
。 - 在基本图表中隐藏额外的标记数据。如果您只是在条形图中额外添加一个数据系列作为跟踪线,图表便会将其显示为一系列新的条形。为防止出现这种情况,您必须隐藏这个额外的数据系列。如需隐藏某个系列,请在
chd
格式描述符后面添加一个数字:例如chd=t1:30,10,20|60,40,50
。 此数字指示 Chart API 使用 多少个数据系列来为基本图表类型绘制元素,此基本图表类型由cht
参数定义(条形图的柱形,折线图的数据点,等等)。在绘制图表时,该图表类型会忽略任何其他数据系列。请注意,此数字是从 1 开始,而不是从 0 开始。因此,t1
表示“仅使用第一个数据系列绘制条形”,t2
表示“仅使用前两个数据系列绘制条形”,以此类推。 - 使用隐藏的数据系列绘制K 线标记、折线标记或其他标记。链接部分介绍了如何绘制标记。将隐藏的数据系列引用为标记的来源。您可以根据需要添加任意数量的其他隐藏数据系列,并将其用于其他图表标记。
以下是我们刚才描述的图表:
cht=bvg
chd=t1:30,10,20|60,40,50
chm=D,0033FF,1,0,5,1
图表类型
以下是标记类型列表,以及可与这些标记配合使用的图表类型:
标记类型 | 支持该标记的基本图表类型 |
---|---|
折线图 | 折线图、散点图、条形图、雷达 |
K 线 | Line、Bar |
所有其他 | 折线图、散点图、条形图、雷达 |
以下是一些您可以创建的复合图表的类型示例:
图表类型 | 说明 | 示例 |
---|---|---|
折线图 | 折线图可用来显示许多其他图表类型中的趋势。 | |
K 线图 | K 线图表通常用于显示财务数据。 | |
箱形图 | 箱形图表可将数据以四等分组进行显示。 |
|
嵌入式图表 | 您可以将一个图表嵌入另一个图表中。 | |
其他标记 | 您可以在任何可接受的基本图表类型中隐藏标记数据,并将其与您喜欢的任何其他类型的标记搭配使用。 | chd=t1: |
折线图
您可以向折线图、scatter、条形图或雷达图表添加折线以突出显示趋势。
底座类型 + 标记类型 | 说明 | 示例 |
---|---|---|
条形 + 折线图 | 此例的条形图带有一条跟踪线。前两个数据系列用于绘制堆叠条形,其余的系列用于绘制折线。
|
chm= |
散点图 + 折线图 | 您可以在散点图中添加折线,以显示平均值。请注意,散点图隐藏标记数据的方式有所不同;如需了解详情,请参阅散点图。 |
|
条形 + 折线图 | 这是另一个堆叠条形图,上面绘制了一条独立的折线。 |
cht=bvs |
条形 + 圆形 | 与上一个图表相同,但使用圆形标记,而不是折线标记。我们指定了每 0.5 个数据值,这会在虚线上添加计算得到的中间点。 | cht=bvs |
K 线图
K 线图至少需要四个数据系列才能绘制 K 线,此外还需要使用其他数据系列绘制任何其他图表元素。K 线图可以仅显示一组K 线标记,也可以是 K 线标记加条形图或折线图的组合,如下所示:
底座类型 + 标记类型 | 说明 | 示例 |
---|---|---|
折线图(隐藏)+ K 线图 | 本示例中的图表仅显示了 K 线标记。
|
cht=lc |
折线图 + K 线图 | 下面这个示例是带有 K 线标记的折线图。 系统提供了五个数据系列;第一个用于图表类型(折线),其余的“隐藏”数据系列用于 K 线标记。 由于图表区域边框剪裁了第一个和最后一个 K 线,因此我们在 <which_points> 值中使用
|
|
折线图 + K 线图 | 另一个 K 线图示例,不过其中的填充颜色是自定义的。 |
chd=t1: |
条形图 + K 线 | 右侧的示例是带有 K 线标记的条形图表。 我们在此处显示第一个和最后一个 K 线标记,因为条形增加了足够的间距,可防止它们被图表边界裁剪。 |
cht=bvg |
箱形图表
箱形图(也称为箱形图或盒须图)是一种图表,可将一个或多个系列的分组情况按四分位数(四分位表示占 25% 的值范围的组,可能的离群值除外)。箱形图表与 K 线图表类似,但前者在 K 线的底部和顶部添加了标记,另外还添加了第 50 个百分位标记。
箱形图完全由标记组成,如下所示:
chm= |
chm= |
chm= |
|
一组 K 线标记 (chm=F ),用于指示框的正文: |
一组长度可调整的水平线形标记 (chm=H ),分别是最小、第 50 和第 100 百分位线: |
(可选)一些圆形标记 (chm=o ),用于显示数据集中的离群值。 |
将上述各部分结合在一起,即可得到一个箱形图表! |
箱形图表的基本图表类型是任意条形图类型(bhs
、bvs
、bhg
、bvg
)或折线图类型(lc
、ls
、lxy
)。但是,如果您要通过在数据格式参数中添加 0(例如:chd=t0:
或 chd=s0:
)来隐藏基本图表类型(例如:chd=t0:
或 chd=s0:
),则无论您选择哪种图表类型。
箱形图表必须至少包含五个数据系列:四个用于箱形以及最大值和最小值标记;一个用于 50% 标记;以及任何其他您可能想要的其他任何标记(例如离群值标记)的任何其他数据系列。以下是建议的系列顺序。请注意,如果系列 1 中的值大于系列 2 中的相应值,系统将使用 chm=F
标记颜色填充方框;如果系列 1 中的值小于系列 2 中的值,则方框将处于未填充状态。
有关详情,请参阅 K 线标记。
未填充箱形的数据系列顺序:
- 最小值
- 25% 标记(75% 用于已填充箱形)
- 75% 标记(25% 用于已填充箱形)
- 最大值
- 50% 标记
- 系列 6 或更多系列则用于表示其他任何标记数据,如离群值。
实际上,您可以将其他标记系列放在 K 线标记数据之前或之后,但将它们全部放在最后会更简单。
您可以通过指定不同的标记、不同的基本图表类型或以不同的方式对数据排序,创建不同样式的箱形图表
说明 | 示例 | ||
---|---|---|---|
这是一个标准的箱形图表,但为不同的图表元素指定了不同的颜色,以突出显示用于创建各个图表元素的标记。
|
|
||
lc 图表类型将始终显示轴线。要创建没有轴线的图表,请将图表类型指定为 ls。 |
|
||
要创建填充的方框,请让第二个系列中的相应点大于第三个系列中的对应点。右侧显示的代码中较大值标记为红色。 | chd=t0: |
嵌入式图表
您可以使用动态图标将任何图表类型嵌入到条形图、折线图、雷达图或scatter中。请参阅动态图标 (chem
) 标记文档的嵌入式图表部分。
标准功能
此网页上的其他功能均为标准图表功能。
折线标记 chm=D
[条形图、K 线图表、折线图表、雷达图表、散点图表]
您可以在图表中添加一条用于跟踪数据的折线。这最常用于复合图表。
如需添加多行代码(或将其与任何其他 chm
标记结合使用),请使用竖线 (|
) 分隔符分隔 chm 参数集。您不能使用此参数创建虚线标记。
语法
chm= D,<color>,<series_index>,<which_points>,<width>,<opt_z_order>
- D
- 表示这是一个线条标记。
- <color>
- 线条的颜色,采用 RRGGBB 十六进制格式。
- <series_index>series_index
- 用于绘制线条的数据系列的索引。对于第一个数据系列,数据系列索引为
0
,对于第二个数据系列,索引为1
,依此类推。 - <when_points>which_points
- 系列中用于绘制线条的点。请使用以下某个值:
0
- 使用系列中的所有点。start:end
- 使用序列中特定范围的点,从 start 到 end 之间,包括这两个点(从零开始的索引)。 您也可以使用浮点值指定中间点,或将 start 或 end 留空以分别表示第一个或最后一个数据点。start 和 end 可以为负数,作为从最后一个值开始的反向索引。如果 start 和 end 均为负数,请务必以递增值书写它们(例如,-6:-1)。
- <size>
- 线条的宽度(以像素为单位)。
- <opt_z_order>
- [可选] 要在其上绘制标记的图层(与其他标记和所有其他图表元素相比)。这是一个介于 -1.0 到 1.0(含)之间的浮点数,其中 -1.0 表示底部,1.0 表示顶部。图表元素(折线和条形)正好位于零的下方。如果两个标记的值相同,则将按照网址指定的顺序绘制。默认值为 0.0(就在图表元素的上方)。
示例
说明 | 示例 |
---|---|
此示例展示了如何在条形图上绘制标记线。
Z 轴顺序设置为 |
chm=D,0033FF,0,0,5,1 |
此为同一条形图,但还额外添加了一个数据系列,专用于此折线。这是一个复合图表的示例。
复合图表的绘制方法是,向 如需了解详情,请参阅复合图表。 |
chm=D,0033FF,1,0,5,1 |
形状标记 chm
[条形图、折线图、雷达图表、散点图表]
您可以为图表上的所有或个别数据点指定图形标记。如果两个或多个标记占据同一个点,则系统将按照它们在 chm
参数中的显示顺序绘制这些标记。您还可以在数据点上创建文本标记,这在数据点标记中进行了介绍。
您可以将形状标记与任何其他 chm
参数结合使用,使用竖线字符 ( |
) 分隔 chm
参数。
语法
为每个应标记的数据系列指定以下一组参数。如需标记多个系列,请创建额外的参数集,并以竖线字符分隔。您无需标记所有系列。如果您没有为数据系列分配标记,则该数据系列不会获得任何标记。
形状标记在散点图中的行为略有不同。如需了解详情,请参阅该文档。
chm= [@]<marker_type>,<color>,<series_index>,<opt_which_points>,<size>,<opt_z_order>,<opt_offset> |...| [@]<marker_type>,<color>,<series_index>,<opt_which_points>,<size>,<opt_z_order>,<opt_offset>
- @
- [可选] 如果您在标记类型前面添加了可选的 @ 字符,则 <opt_while_points> 应使用 x:y 格式。
- <marker_type>
- 要使用的标记类型。指定以下任一类型:
a
- 箭头c
- 十字C
- 矩形。如果是矩形标记,则必须至少有两个数据系列,其中数据系列 0 指定下边缘,数据系列 1 指定上边缘。<size> 指定矩形的宽度(以像素为单位)。d
- 钻石级E
- 错误栏标记 ( ) 需要两个数据系列才能创建此标记,一个值表示底部,第二个系列中的对应点表示顶部。此外,它还公开了扩展的 <size> 语法:line_thickness[:top_and_bottom_width],其中 top_and_bottom_width 是可选的。请参阅下面的示例。h
- 在指定高度穿过图表的横线。 (<opt_which_points> 参数的唯一有效格式是 opt_which_points.)H
- 穿过指定数据标记的水平线。这支持扩展的 <size> 语法,该语法可让您指定确切的线条长度:line_thickness[:length],其中 :length 是可选的,默认值为图表区域的完整宽度。o
- 圆形s
- 方形v
- 从 x 轴到数据点的竖线V
- 长度可调整的竖线。这支持扩展的 <size> 值语法,该语法可让您指定确切的线条长度:line_thickness[:length],其中 :length 是可选的,默认值为图表区域的完整高度。该标记会居中于相关数据点上。x
- X
- <color>
- :此系列中的标记的颜色,采用 RRGGBB 十六进制格式。
- <series_index>series_index
- :要在其上绘制标记的数据系列(从零开始的索引)。对于
h
标记和按 x/y 位置指定位置的标记(以 @ 字符开头),会被忽略。您可以使用隐藏的数据系列作为标记的来源;如需了解详情,请参阅复合图表。分组垂直条形图支持特殊的扩展语法,用于将标记与特定条形对齐。 - <opt_when_points>opt_which_points
- [可选] 要在哪个(些)点上绘制标记。默认为所有标记。请使用以下某个值:
n.d
- 绘制标记的位置。其含义取决于标记类型:- 除 h 以外的所有类型 - 要在哪个数据点上绘制标记,其中 n.d 是数据系列中从零开始的索引。如果您指定的是非整数值,则分数表示计算出的中间点。例如,3.5 表示点 3 和点 4 的中间。
h
- 介于 0.0 到 1.0 之间的数字,其中 0.0 表示图表底部,1.0 表示图表顶部。
-1
- 在所有数据点上绘制标记。您也可以将此参数留空,以便在所有数据点上绘制图表。-n
- 在每 n 个数据点上绘制一个标记。n浮点值;如果 n 小于 1,则图表将为您计算其他中间点。例如,-0.5 将放置的标记数量是数据点数量的两倍。start:end:n
- 在某个范围(从 n 到 n 索引值(含)之间)的每个数据点上绘制一个标记。n所有参数都是可选的(可能不存在),因此 3::1 表示从第四个元素到最后一个元素(即第 1 步),如果完全省略此参数,则默认为 first:last:1。所有值都可以是浮点数。start 和 end 可以为负数,以便从最后一个值向后计数。如果 start 和 end 均为负数,请确保它们的值是递增的(例如 -6:-1:1)。 如果 n 步进值小于 1,它将通过插值给定数据值来计算其他数据点。默认值为 first:last:1x:y
- 在图表上的特定 x/y 点绘制标记。 此点不必位于线上。若要使用此选项,请在标记类型前添加 @ 字符。以浮点值指定坐标,其中0:0
表示图表的左下角,1:1
表示图表的右上角。例如,要向图表中心添加 15 像素的红色菱形,请使用@d,FF0000,0,0.5:0.5,15
。
- <size>
- :标记的尺寸(以像素为单位)。大多数标记都接受此参数的单个数字值;V、H 和 S 标记支持语法 <size>[:width],其中可选的第二部分指定了线条或标记的长度。
- <opt_z_order>
- [可选] 要在其上绘制标记的图层(与其他标记和所有其他图表元素相比)。这是一个介于 -1.0 到 1.0(含)之间的浮点数,其中 -1.0 表示底部,1.0 表示顶部。图表元素(折线和条形)正好位于零的下方。如果两个标记的值相同,则它们将按照网址指定的顺序绘制。默认值为 0.0(就在图表元素的上方)。
- <opt_offset>
- [可选] 可让您指定距指定位置的水平偏移量和垂直偏移量。以下是使用 : 分隔符的语法:
reserved:<horizontal_offset>:<vertical_offset>
。如果指定,则可以在chm
参数字符串中为 <opt_z_order> 添加一个空值。示例:o,FF9900,0,4,12,,:10 o,FF9900,0,4,12.0,,:-10:20 o,FF9900,0,4,12,1,::20
- reserve - 留空。
<horizontal_offset>
- 指定水平偏移量(以像素为单位)的正数或负数。可选;如果未使用,请留空。<vertical_offset>
- 指定垂直偏移量(以像素为单位)的正数或负数。可选;如果未使用,请留空。
示例
说明 | 示例 |
---|---|
以下示例展示了几个形状和线条标记。
|
chm= |
以下示例对一个数据系列使用菱形,针对另一个数据系列使用圆形。 如果两个或多个标记占据同一个点,则系统将按照它们在 |
chm= |
此折线图的每两个数据点上带有一个标记(-2 表示每隔一个点)。 |
chd=t: |
此折线图的标记数量是数据点数量的两倍(-0.5 表示每半个点)。 | chd=t: |
此示例展示了如何使用 h 和 v 标记创建具有自定义颜色和粗细的网格线。将 Z 轴顺序值(最后一个值)设置为 -1,以便在数据线下方绘制网格线。 |
chm= |
此例向折线图表添加了纵向填充线:
|
chm= |
下例使用精确坐标向图表添加了箭头和文本标记。第一个标记 D 是条形下的跟踪线。第二个标记是箭头,第三个标记是箭头文本。 | chm= |
固定在特定数据点的水平线 (H ) 可用于显示相对值或突出图表上数据值的高度。 |
chm=H,FF0000,0,18,1 |
此图展示了可在 <size> 参数中指定线条粗细和长度的标记。
|
title="cht=lc&chd=s:2gounjqLaCf,jqLaCf2goun&chco=008000,00008033&chls=2.0,4.0,1.0&chs=250x150&chm=H,990066,1,2,5:5chm= |
K 线标记 chm=F
[条形图、折线图]
K 线标记表示数据系列中的方差和方向变化。这些指标通常用于显示一天中的股票值。该标记包含多个部分,用于显示特定时间段(通常为一天)内的最高值和最低值,以及开盘值和收盘值。如需详细了解 K 线标记,请点击此处。
K 线标记绘制为被一条垂直线平分的矩形。需要四个数据系列才能绘制 K 线标记;每个系列指定的内容如下:
- 系列 1 和 4 分别指定垂直线的底部和顶部。这些值通常表示当天的最低值和最高值。
- 数据系列 2 和 3 指定矩形的垂直边框。数据系列 2 是开盘值,数据系列 3 是收盘值。矩形的颜色取决于哪个值更高:当开盘值(数据系列 2)低于收盘值(数据系列 3)时,价格上涨,并且矩形默认以纯绿色填充;当开盘值(数据系列 2)高于收盘值(数据系列 3)时,价格下降,并且矩形默认以红色填充。您只能为值递减的矩形指定填充颜色。指定后,值递增的矩形将处于未填充状态(空)。请注意,数据系列 2 可以是矩形的顶部或底部,具体取决于价格是上涨还是下降。
您可以将 K 线标记与任何其他 chm
参数结合使用,使用竖线字符 ( |
) 分隔 chm
参数。
注意:如果您不希望用于绘制标记的数据对应的线条显示在图表中,则必须在格式类型后面添加一个 0。例如:文本格式数据字符串中的 chd=t0:10,20,30,40
。如需了解详情,请参阅复合图表。
下面的示例显示了每个数据系列的线条:
语法
chm= F,<opt_declining_color>,<data_series_index>,<opt_which_points>,<width>,<opt_z_order>
- F
- 表示这是一个 K 线标记。
- <opt_declining_color>
- [可选] 当值递减时(当数据系列 2 的值 > 数据系列 3 对应的值时),矩形的填充颜色。这是一个 RRGGBB 格式的十六进制数字。当值增加时,矩形将为空。默认为绿色(增加)或红色(减少)(您无法为值递增指定自定义填充颜色)。
- <data_series_index>
- 要用作 K 线标记的第一个系列的数据系列的索引。这是一个从零开始的索引。因此,如果您在此处指定 1,而您有六个数据系列,则第二、第三、第四和第五个数据系列将用于绘制 K 线标记。
- <opt_when_points>
- [可选] 指定用于绘制标记的数据点。默认为所有标记。请使用以下格式之一:
n.d
- 在数据系列中的单个点上绘制标记,其中 n.d 是数据系列中该点的索引。n.d如果您指定的是非整数值,则分数表示计算出的中间点。例如,3.5 表示点 3 和点 4 的中间。-1
- 在所有数据点上绘制标记。您也可以将此参数留空,以便在所有标记上绘制内容。-n
- 在每 n 个数据点上绘制一个标记。nstart:end:n
- 在某个范围(从 n 到 n 索引值(含)之间)的每个数据点上绘制一个标记。n所有参数都是可选的(可能不存在),因此 3::1 表示从第四个元素到最后一个元素(即第 1 步),如果完全省略此参数,则默认为 first:last:1。所有值都可以是浮点数。start 和 end 可以为负数,以便从最后一个值向后计数。如果 start 和 end 均为负数,请确保它们的值是递增的(例如,-6:-1:1)。如果 n 步进值小于 1,它将通过插值给定数据值来计算其他数据点。默认值为 first:last:1
- <width>
- 所有矩形的宽度(以像素为单位)。
- <opt_z_order>
- [可选] 要在其上绘制标记的图层(与其他标记和所有其他图表元素相比)。这是一个介于 -1.0 到 1.0(含)之间的浮点数,其中 -1.0 表示底部,1.0 表示顶部。图表元素(折线和条形)正好位于零的下方。如果两个标记的值相同,则将按照网址指定的顺序绘制。默认值为 0.0(就在图表元素的上方)。
示例
说明 | 示例 |
---|---|
下例是包含四个系列的折线图上的 K 线标记。自定义填充颜色 图表裁剪了第一个和最后一个矩形。要消除这些值,您可以将 chm 的第四个参数指定为 1:4。 注意数据字符串中的零,以隐藏系列中的线条: <which_point> 参数为空,表示在所有数据点上绘制 K 线。 |
chd=t0: |
下面是一个同一图表的示例,使用了默认颜色并移除了第一项和最后一项。 此为复合图表:它是折线图(基本图表类型)和 K 线标记的组合。 |
|