概览
您可以将多种图表类型与折线图或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 线标记。 我们在 <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:
),则选择哪种图表类型并不重要。
一个箱形图表必须至少包含五个数据系列:四个用于分组以及最大和最小标记;一个用于 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>
- 用于绘制线条的数据系列的索引。第一个数据系列的数据系列索引为
0
,第二个数据系列的数据系列索引为1
,依此类推。 - <what_points>which_points
- 要用系列中的哪些点来绘制线条。请使用以下某个值:
0
- 使用系列中的所有点。start:end
- 使用系列中特定的点范围(从起始值到结束值,含从零开始的索引)。您还可以使用浮点值指定中间点,或将 start 或 end 留空以分别表示第一个或最后一个数据点。start 和 end 可以为负数,作为最后一个值的反向索引。如果 start 和 end 均为负数,请务必以递增值(例如 -6:-1)写出。
- <size>
- 线条的宽度(以像素为单位)。
- <opt_z_order>
- [可选] 表示要在哪个图层上绘制标记(与其他标记和其他所有图表元素相比)。这是一个从 -1.0 到 1.0(包括 -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_ which_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>
- :绘制标记时所依据的数据系列中从零开始的索引。
h
标记以及按 x/y 位置指定位置的标记(以 @ 字符开头)会被忽略。您可以使用隐藏的数据系列作为标记来源;有关详情,请参阅复合图表。分组垂直条形图支持特殊的扩展语法,以便将标记与特定条形对齐。 - <opt_ which_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 个数据点上绘制一个标记(索引值介于 start 到 end 之间(包括这两个值)。nnn所有参数都是可选的(可以不存在),因此 3::1 表示从第四个元素到最后一个元素,即第 1 步,如果完全省略此参数,则默认采用 first:last:1。所有值都可以是浮点数。start 和 end 可以为负值,以便从最后一个值开始反向计数。如果 start 和 end 均为负数,请确保它们以递增值列出(例如,-6:-1:1)。 如果 n 步值小于 1,它将通过插值给定的数据值来计算其他数据点。n默认值为 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)的浮点数,其中 -1.0 表示底部,1.0 表示顶部。图表元素(折线和条形)正好低于零。如果两个标记具有相同的值,则系统会按照网址指定的顺序绘制它们。默认值为 0.0(正好位于图表元素的上方)。
- <opt_offset>
- [可选] 可让您指定相对于指定位置的水平和垂直偏移。以下语法使用 : 分隔符:
reserved:<horizontal_offset>:<vertical_offset>
。 如果指定,则可以在 <opt_z_order> 的chm
参数字符串中添加空值。示例:o,FF9900,0,4,12,,:10 o,FF9900,0,4,12.0,,:-10:20 o,FF9900,0,4,12,1,::20
- reserved - 留空。
<horizontal_offset>
- 一个正数或负数,用于指定水平偏移量(以像素为单位)。可选;如果未使用,请留空。<vertical_offset>
- 一个正数或负数,用于指定垂直偏移量(以像素为单位)。可选;如果未使用,请留空。
示例
说明 | 示例 |
---|---|
下面列举了几个形状和线条标记的示例。
|
chm= |
下例对一个数据系列使用菱形,对另一个数据系列使用圆形。 如果两个或多个标记占据同一点,则会按照标记在 |
chm= |
此折线图的每秒数据点上带有一个标记(-2 表示每隔一个点)。 |
chd=t: |
此折线图使用的标记数量是数据点的两倍(-0.5 表示每半个点)。 | chd=t: |
以下示例展示了如何使用 h 和 v 标记创建自定义颜色和粗细的网格线。将 z-order 值(最后一个值)设置为 -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,30"chm= |
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_which_points>
- [可选] 指定用于绘制标记的数据点。默认值为所有标记。请使用以下格式之一:
n.d
- 在系列中的单个点上绘制标记,其中 n.d 是系列中点的索引。n.d如果您指定非整数值,则小数表示计算出的中间点。例如,3.5 表示点 3 和点 4 之间的一半。-1
- 在所有数据点上绘制标记。您也可将此参数留空,以便在所有标记上绘制。-n
- 在每 n 个数据点上绘制一个标记。nstart:end:n
- 在范围中的第 n 个数据点上绘制一个标记(索引值介于 start 到 end 之间(包括这两个值)。nnn所有参数都是可选的(可以不存在),因此 3::1 表示从第四个元素到最后一个元素,即第 1 步,如果完全省略此参数,则默认采用 first:last:1。所有值都可以是浮点数。start 和 end 可以为负值,以便从最后一个值开始反向计数。如果 start 和 end 均为负数,请务必以递增值列出(例如,-6:-1:1)。如果 n 步值小于 1,它将通过插值给定的数据值来计算其他数据点。n默认值为 first:last:1
- <宽度>
- 所有矩形的宽度(以像素为单位)。
- <opt_z_order>
- [可选] 表示要在哪个图层上绘制标记(与其他标记和其他所有图表元素相比)。这是一个从 -1.0 到 1.0(包括 -1.0 和 1.0)的浮点数,其中 -1.0 表示底部,1.0 表示顶部。图表元素(折线和条形)正好低于零。如果两个标记的值相同,就会按照网址指定的顺序绘制它们。默认值为 0.0(正好位于图表元素的上方)。
示例
说明 | 示例 |
---|---|
下面是一个包含四个系列的折线图上的 K 线标记示例。自定义填充颜色为 图表裁剪了第一个和最后一个矩形。若要消除这些值,您可以为 chm 的第四个参数指定 1:4 的值。 请注意数据字符串中的 0,以隐藏序列中的相应行: <which_point> 参数为空,表示会在所有数据点上绘制 K 线。 |
chd=t0: |
下面是一个同一图表的示例,该图表使用默认颜色,并移除了第一项和最后一项。 这是一个复合图表:它是折线图(基本图表类型)和 K 线标记的组合。 |
|