概览
带有可选注释的交互式时间序列折线图。
带注解的时间轴现在会自动改用注解图表。
示例
<html>
<head>
<script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
<script type='text/javascript'>
google.charts.load('current', {'packages':['annotatedtimeline']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Sold Pencils');
data.addColumn('string', 'title1');
data.addColumn('string', 'text1');
data.addColumn('number', 'Sold Pens');
data.addColumn('string', 'title2');
data.addColumn('string', 'text2');
data.addRows([
[new Date(2008, 1 ,1), 30000, undefined, undefined, 40645, undefined, undefined],
[new Date(2008, 1 ,2), 14045, undefined, undefined, 20374, undefined, undefined],
[new Date(2008, 1 ,3), 55022, undefined, undefined, 50766, undefined, undefined],
[new Date(2008, 1 ,4), 75284, undefined, undefined, 14334, 'Out of Stock','Ran out of stock on pens at 4pm'],
[new Date(2008, 1 ,5), 41476, 'Bought Pens','Bought 200k pens', 66467, undefined, undefined],
[new Date(2008, 1 ,6), 33322, undefined, undefined, 39463, undefined, undefined]
]);
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
chart.draw(data, {displayAnnotations: true});
}
</script>
</head>
<body>
// Note how you must specify the size of the container element explicitly!
<div id='chart_div' style='width: 700px; height: 240px;'></div>
</body>
</html>
重要提示 :如需使用此可视化图表,您必须明确在网页上指定容器元素的高度和宽度。例如:<div id="chart_div"
style="width:400; height:250"></div>
。
正在加载
google.charts.load
软件包名称为 "annotatedtimeline"
google.charts.load("current", {packages: ['annotatedtimeline']});
该可视化图表的类名称为 google.visualization.AnnotatedTimeLine
var visualization = new google.visualization.AnnotatedTimeLine(container);
数据格式
您可以在图表上显示一条或多条折线。每一行代表图表上的一个 X 位置,即一个特定的时间;每一行由一组一到三列来描述。
- 第一列的类型是
date
或datetime
,用于指定图表上该点的 X 值。如果此列的类型是date
(而非datetime
),则 X 轴上的最小时间分辨率为一天。 - 然后,每个数据行由一组额外的 1 到 3 个列进行描述,具体如下所述:
- Y 值 - [必需,数字] 每集中的第一列描述的是第一列对应的时间相应行的值。列标签将作为该线条的标题显示在图表上。
- 注释标题 - [可选,字符串] 如果值列后面是字符串列,并且
displayAnnotations
选项为 true,则此列包含描述此时间点的短标题。例如,如果此线条表示巴西的温度,而这个点是一个非常大的数字,则标题可以是“有史以来最热的一天”。 - 注释文本 - [可选字符串] 如果此系列具有第二个字符串列,则单元格值将用作此点的附加描述性文本。您必须将选项
displayAnnotations
设置为 true 才能使用此列。如果将allowHtml
设为true
,则可以使用 HTML 标记;这基本上没有大小限制,但请注意,过长的条目可能会溢出显示部分。 即使您有针对这一点的注解标题列,也不需要有此列。图表不使用列标签。例如,如果这是记录点上最热的一天,您可以这样说:“最近一天的气温下降了 10 度!”。
配置选项
名称 | 类型 | 默认 | 说明 |
---|---|---|---|
allowHtml | boolean | false | 如果设置为 true,任何包含 HTML 标记的注释文本都将呈现为 HTML。 |
allowRedraw | boolean | false | 针对此可视化图表第二次及之后对
|
allValuesSuffix | string | 无 | 要为比例和图例中的所有值添加的后缀。 |
annotationsWidth | number | 25 | 注释区域在整个图表区域内的宽度(以百分比表示)。 必须是 5-80 之间的数字。 |
颜色 | 字符串数组 | 默认颜色 | 用于图表线条和标签的颜色。字符串数组。每个元素都是一个采用有效 HTML 颜色格式的字符串。例如,“红色”或“#00cc00”。 |
dateFormat | string | “MMMM dd, yyyy”或“HH:mm MMMM dd, yyyy”,具体取决于第一列的类型(分别为日期或日期时间)。 | 右上角用于显示日期信息的格式。此字段的格式由 java SimpleDateFormat 类指定。 |
displayAnnotations | boolean | false | 如果此政策设为 true,图表将在所选值上方显示注释。 将此选项设置为 true 时,可以在每个数字列后添加两个可选的注释字符串列,一个用于注释标题,另一个用于注释文本。 |
displayAnnotationsFilter | boolean | false | 如果此政策设为 true,图表将显示用于过滤注释的过滤条件控件。 当注释很多时,使用此选项。 |
displayDateBarSeparator | boolean | true | 是否在系列值和图例中的日期之间显示小条形分隔符 ( | ),其中 true 表示是。 |
displayExactValues | boolean | false | 是否在图表顶部显示经过舍入取整的值以节省空间;false 表示可以。例如,如果设置为 false,56123.45 可能会显示为 56.12k。 |
displayLegendDots | boolean | true | 是否在图例文本中的值旁边显示点,其中 true 表示是。 |
displayLegendValues | boolean | true | 是否在图例中显示突出显示的值,其中 true 表示是。 |
displayRangeSelector | boolean | true | 是否显示缩放范围选择区域(图表底部的区域),其中 false 表示否。 缩放选择器中的轮廓是图表中最后一个系列的对数缩放版本,缩放以适应缩放选择器的高度。 |
displayZoomButtons | boolean | true | 是否显示缩放链接(“1d 5d 1m”等),其中 false 表示否。 |
fill | number | 0 | 一个介于 0—100(含)之间的数字,用于指定折线图中每条线下方的填充 Alpha 值。100 表示 100% 不透明填充,0 表示完全不填充。填充颜色与其上方的线条颜色相同。 |
highlightDot | string | “最近的” | 要突出显示的系列上哪个点,以及要在图例中显示的相应值。请从下列值中选择一个:
|
legendPosition | string | “sameRow” | 是将彩色图例与缩放按钮和日期放在同一行(“sameRow”)上,还是放在新行(“newRow”)。 |
max | number | 自动 | 要在 Y 轴上显示的最大值。如果最大数据点数量超过此值,系统将忽略此设置,并调整图表,使其在最大数据点上方显示下一个主要刻度标记。此值将优先于由 scaleType 确定的 Y 轴最大值。 |
分钟 | number | 自动 | 要在 Y 轴上显示的最小值。如果最小数据点小于此值,则系统将忽略此设置,并调整图表,在最小数据点下方显示下一个主要对勾标记。此值优先于由 scaleType 确定的 Y 轴最小值。 |
numberFormats | 字符串,或“数字:字符串”对的映射 | 自动 | 指定用于设置图表顶部值的格式的数字格式模式。 模式应采用 java DecimalFormat 类指定的格式。
如果指定此选项,系统会忽略 |
scaleColumns | 数字数组 | 自动 | 指定要在图表中的 Y 轴刻度线上显示的值。 默认设置是右侧只有一个刻度,这适用于两个系列;但您可以将图表的不同侧缩放为不同的系列值。 此选项接受一个由 0 到 3 个数字组成的数组,用于指定要用作缩放值的序列(从零开始)的索引。这些值的显示位置取决于您在数组中添加的值数量:
显示多个缩放比例时,建议将 |
scaleType | string | “已修复” | 设置 Y 轴上显示的最大值和最小值。您可以使用以下选项:
如果您指定最小值和/或最大值,它们的优先级将高于缩放类型确定的最小值和最大值。 |
厚度 | number | 0 | 一个介于 0—10(含)之间的数字,用于指定线条的粗细,其中 0 表示最细。 |
Wmode | string | '窗口' | Flash 图表的窗口模式 (Wmode) 参数。可用值包括“opaque”“window”或“transparent”。 |
zoomEndTime | 日期 | 无 | 设置所选缩放范围的结束日期/时间。 |
zoomStartTime | 日期 | 无 | 设置所选缩放范围的开始日期/时间。 |
方法
方法 | 返回值类型 | 说明 |
---|---|---|
draw(data, options) |
无 | 绘制图表。您可以使用 allowRedraw 属性来加快第二次及以后对 draw() 的调用的响应时间。 |
getSelection() |
选择元素数组 | 标准的 getSelection() 实现。所选元素是单元格元素。用户一次只能选择一个单元格。 |
getVisibleChartRange() |
具有 start 和 end 属性的对象 |
返回一个具有 start 和 end 属性的对象,其中每个属性都是一个 Date 对象,表示当前选择的时间。 |
hideDataColumns(columnIndexes) |
无 | 在图表中隐藏指定的数据系列。 接受一个参数,该参数可以是数字或数字数组,其中 0 表示第一个数据系列,依此类推。 |
setVisibleChartRange(start, end) |
无 | 将可见范围(缩放)设为指定范围。
接受两个类型为 Date 的参数,分别表示所需所选可见范围的第一次和最后一次时间。将 start 设置为 null 可包含从最早日期到 end 的所有内容;将 end 设置为 null 可包含从 start 到最后日期的所有内容。 |
showDataColumns(columnIndexes) |
无 | 显示图表中的指定数据系列(使用 hideDataColumns 方法隐藏后)。
接受一个参数,该参数可以是数字或数字数组,其中 0 表示第一个数据系列,依此类推。 |
事件
名称 | 说明 | 属性 |
---|---|---|
范围变化 | 缩放范围已更改。在用户修改可见时间范围后触发,但并未在调用 setVisibleChartRange 方法后触发。注意:建议您不要使用事件属性,而应通过调用 getVisibleChartRange 方法来获取这些属性。 |
|
准备就绪 | 该图表已准备好进行外部方法调用。如果您想要与图表交互并在绘制图表后调用相应方法,则应在调用 draw 方法之前为此事件设置监听器,并且仅在事件触发后调用监听器。 |
无 |
select | 当用户点击注释标志(标记)时,数据表中的相应单元格会被选中。然后,可视化图表会触发此事件。 | 无 |
注意:由于某些限制,如果您在浏览器中以文件(例如“file://”),而不是从服务器(例如,"http://www").
数据政策
所有代码和数据都会在浏览器中处理并呈现。系统不会向任何服务器发送任何数据。
说明
由于 Flash 安全设置,当从浏览器的文件位置(如 file:///c:/webhost/myhost/myviz.html)而不是网络服务器网址(如 http://www.myhost.com/myviz.html)进行访问时,此(以及所有基于 Flash 的可视化)可能无法正常运行。这通常只是测试问题。您可以按照 Macromedia 网站上的说明来解决此问题。