概要
アノテーション グラフは、アノテーションをサポートするインタラクティブな時系列折れ線グラフです。アノテーション付きタイムラインでは自動的にアノテーション チャートが使用されるようになりました。
混同アラート: 現在、Google アノテーション チャートは、他の Google グラフ(面グラフ、棒グラフ、列、コンボ、折れ線、散布図)でサポートされているアノテーションとは異なります。これらのグラフでは、アノテーションは個別の datatable 列で指定され、ユーザーがカーソルを合わせると完全なアノテーション テキストが表示される短いテキストとして表示されます。一方、アノテーション チャートは、以下に示すように、完全なアノテーションを右側に表示します。
例
<html> <head> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type='text/javascript'> google.charts.load('current', {'packages':['annotationchart']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('date', 'Date'); data.addColumn('number', 'Kepler-22b mission'); data.addColumn('string', 'Kepler title'); data.addColumn('string', 'Kepler text'); data.addColumn('number', 'Gliese 163 mission'); data.addColumn('string', 'Gliese title'); data.addColumn('string', 'Gliese text'); data.addRows([ [new Date(2314, 2, 15), 12400, undefined, undefined, 10645, undefined, undefined], [new Date(2314, 2, 16), 24045, 'Lalibertines', 'First encounter', 12374, undefined, undefined], [new Date(2314, 2, 17), 35022, 'Lalibertines', 'They are very tall', 15766, 'Gallantors', 'First Encounter'], [new Date(2314, 2, 18), 12284, 'Lalibertines', 'Attack on our crew!', 34334, 'Gallantors', 'Statement of shared principles'], [new Date(2314, 2, 19), 8476, 'Lalibertines', 'Heavy casualties', 66467, 'Gallantors', 'Mysteries revealed'], [new Date(2314, 2, 20), 0, 'Lalibertines', 'All crew lost', 79463, 'Gallantors', 'Omniscience achieved'] ]); var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div')); var options = { displayAnnotations: true }; chart.draw(data, options); } </script> </head> <body> <div id='chart_div' style='width: 900px; height: 600px;'></div> </body> </html>
読み込み中
google.charts.load
パッケージ名は "annotationchart"
です。
google.charts.load("current", {packages: ['annotationchart']});
ビジュアリゼーションのクラス名は google.visualization.AnnotationChart
です。
var visualization = new google.visualization.AnnotationChart(container);
データ形式
グラフには 1 つ以上の折れ線を表示できます。各行は、グラフ上の X 位置、つまり特定の時間を表します。各行は 1 ~ 3 列のセットで表されます。
- 最初の列は
date
型またはdatetime
型で、グラフ上の点の X 値を指定します。この列の型がdate
(datetime
ではない)の場合、X 軸の最小時間解像度は 1 日になります。 - 各データ行は、次に説明するように、1 ~ 3 列の追加列で記述されます。
- Y 値 - [必須、数値] 各セットの最初の列は、最初の列の対応する時間の線の値を表します。縦棒グラフは、折れ線のタイトルとしてグラフに表示されます。
- アノテーション タイトル - [省略可、文字列] 文字列の列が値の列の後にあり、
displayAnnotations
オプションが true の場合、この列にはその点を表す短いタイトルが保持されます。たとえば、このラインがブラジルの気温を表しており、このポイントが非常に高い数である場合、タイトルは「記録日が最も暑い日」となります。 - アノテーション テキスト - (省略可)文字列このシリーズの 2 つ目の文字列列が存在する場合は、この時点でその説明文を追加のセルとして使用します。この列を使用するには、オプション
displayAnnotations
を true に設定する必要があります。allowHtml
をtrue
に設定すると、HTML タグを使用できますが、基本的にサイズの制限はありませんが、エントリが長すぎると表示セクションにオーバーフローする可能性があります。この時点でアノテーション タイトル列がある場合でも、この列は必要ありません。列ラベルはグラフで使用されていません。たとえば、最も暑い日を記録した場合、「次は 1 日の気温が 10 度下がった」のように言ってみてください。
設定オプション
名前 | |
---|---|
allowHTML |
true に設定すると、HTML タグを含むアノテーション テキストは HTML としてレンダリングされます。 型: boolean
デフォルト: false
|
すべての値の接尾辞 |
凡例のすべての値と、縦軸の目盛りに追加するサフィックス。 型: string
デフォルト: なし
|
アノテーションの幅 |
グラフ領域全体に対するアノテーション領域の幅(パーセント)。5 ~ 80 の範囲の数値にする必要があります。 タイプ: 数値
デフォルト: 25
|
色 |
グラフの線とラベルに使用する色。文字列の配列。各要素は、有効な HTML カラー形式の文字列です。たとえば、「red」や「#00cc00」などです。 型: 文字列の配列
デフォルト: デフォルトの色
|
dateFormat |
右上に日付情報を表示するために使用される形式。このフィールドの形式は、java SimpleDateFormat クラスで指定されています。 型: string
デフォルト: 最初の列のタイプ(それぞれ日付、日時)に応じて、「MMMM dd」、「yyyy」または「HH:mm MMMM dd, yyyy」。
|
displayAnnotations |
false に設定すると、グラフにはアノテーション テーブルが非表示になり、アノテーションとアノテーション テキストが表示されなくなります(このオプションにかかわらず、データ内にアノテーションがない場合も、アノテーション テーブルは表示されません)。このオプションを true に設定すると、すべての数値列の後に、アノテーション タイトル用とアノテーション テキスト用の 2 つのオプションのアノテーション文字列列を追加できます。 型: boolean
デフォルト: true
|
displayAnnotationsFilter |
true に設定すると、グラフにアノテーションをフィルタするコントロールが表示されます。アノテーションが多い場合は、このオプションを使用します。 型: boolean
デフォルト: false
|
displayDateBarSeparator |
系列値と凡例の日付の間に小さなバー区切り文字(|)を表示するかどうかを指定します。true は「はい」を意味します。 型: boolean
デフォルト: true
|
displayExactValues |
スペースを短くするために、値の短縮版をグラフの上部に表示するかどうかを指定します。false は、指定できることを示します。たとえば、false に設定すると、56,123.45 は 56.12k として表示されます。 型: boolean
デフォルト: false
|
displayLegendDots |
凡例のテキストの値の横にドットを表示するかどうかを指定します。true は「はい」を意味します。 型: boolean
デフォルト: true
|
displayLegendValues |
凡例でハイライト表示された値を表示するかどうかを指定します。true は「はい」を意味します。 型: boolean
デフォルト: true
|
displayRangeSelector |
ズーム範囲の選択領域(グラフの下部にある領域)を表示するかどうかを指定します。false の場合、「いいえ」になります。 ズーム セレクタの枠線は、グラフの最初の系列の対数スケール バージョンで、ズーム セレクタの高さに合わせてスケーリングされます。 型: boolean
デフォルト: true
|
displayZoomButtons |
ズームボタン(「1d 5d 1m」など)を表示するかどうかを指定します。false の場合、「いいえ」になります。 型: boolean
デフォルト: true
|
fill |
折れ線グラフの各線の下にある塗りつぶしのアルファを指定する 0 ~ 100 の数値。100 は不透明度 100%、0 は塗りつぶしがないことを示します。塗りつぶしの色は、その上の線と同じ色になります。 タイプ: 数値
デフォルト: 0
|
凡例の位置 |
色付きの凡例を、ズームボタンと日付(同じ行)を使用して同じ行に配置するか、新しい行(「newRow」)に配置するかを指定します。 型: string
デフォルト: 'sameRow'
|
最高 |
Y 軸に表示する最大値。最大データポイント数がこの値を超えると、この設定は無視され、最大データポイントを超えて次のメジャー ティック チャートが表示されるようグラフが調整されます。これは、 コアチャートの タイプ: 数値
デフォルト: 自動
|
分 |
Y 軸に表示する最小値。最小データポイントがこの値より小さい場合、この設定は無視され、グラフは最小データポイントより下に大きい目盛りが表示されます。これは コアチャートの タイプ: 数値
デフォルト: 自動
|
数値形式 |
グラフの上部で値をフォーマットするために使用される数値形式のパターンを指定します。 パターンは、java DecimalFormat クラスで指定された形式である必要があります。
このオプションを指定すると、 型: 文字列、または数値と文字列のペアのマップ
デフォルト: 自動
|
scaleColumn |
グラフの Y 軸の目盛りに表示する値を指定します。デフォルトでは、右側に 1 つの目盛りがありますが、これは両方の系列に適用されます。ただし、グラフの別の辺を異なる系列値にスケーリングできます。 このオプションは、スケール値として使用する系列の(0 から始まる)インデックスを指定する 0 ~ 3 の数値の配列を受け取ります。これらの値が表示される場所は、配列に含まれる値の数によって異なります。
複数の体重計を表示する場合は、 型: 数値の配列
デフォルト: 自動
|
scaleFormat |
軸の目盛りに使用する数値形式。 型: string
デフォルト: 「#」
|
スケールタイプ |
Y 軸の最大値と最小値を設定します。以下のオプションを使用できます。
最小値や最大値を指定すると、スケールタイプによって決定される最小値と最大値よりも優先されます。 型: string
デフォルト: 「fixed」
|
table |
アノテーション テーブルに関連するオプションが含まれています。このオブジェクトのプロパティを指定するには、オブジェクト リテラル表記を使用します。 var options: { table: { sortAscending: true, sortColumn: 1 } }; タイプ: オブジェクト
デフォルト: null
|
table.sortAscending |
型: boolean
デフォルト: false
|
table.sortColumn |
アノテーションを並べ替えるためのアノテーション テーブルの列インデックス。アノテーション ラベル列の場合はインデックスが 0、アノテーション テキスト列の場合は 1 である必要があります。 タイプ: 数値
デフォルト: 0
|
太さ |
線の太さを 0 ~ 10 の数値で示します。0 は最も細いものです。 タイプ: 数値
デフォルト: 0
|
ズーム終了時間 |
選択したズーム範囲の終了日時を設定します。 タイプ: 日付
デフォルト: なし
|
ズーム開始時間 |
選択したズーム範囲の開始日時を設定します。 タイプ: 日付
デフォルト: なし
|
メソッド
メソッド | |
---|---|
clearChart() |
グラフをクリアし、割り当てられているすべてのリソースを解放します。 戻り値の型: なし
|
draw(data, options, state) |
グラフを描画します。 戻り値の型: なし
|
getContainer() |
アノテーション チャートを含むコンテナ要素へのハンドルを取得します。 戻り値の型: DOM 要素を処理する
|
getSelection() |
標準の 戻り値の型: 選択要素の配列
|
getVisibleChartRange() |
戻り値の型:
start プロパティと end プロパティを持つオブジェクト。 |
hideDataColumns(columnIndexes) |
指定したデータ系列をグラフで非表示にします。数値または数値の配列のいずれか 1 つのパラメータを受け入れます。0 は最初のデータ系列を示します。 戻り値の型: なし
|
setVisibleChartRange(start, end) |
表示範囲(ズーム)を指定の範囲に設定します。 戻り値の型: なし
|
showDataColumns(columnIndexes) |
戻り値の型: なし
|
イベント
名前 | |
---|---|
rangechange |
ユーザーが範囲スライダーを変更すると呼び出されます。新しい範囲エンドポイントは、 google.visualization.events.addListener(chart, 'rangechange', rangechange_handler); function rangechange_handler(e) { console.log('You changed the range to ', e['start'], ' and ', e['end']); } プロパティ: start、end
|
ready |
外部メソッド呼び出しのグラフの準備が完了しました。グラフを描画し、描画後にメソッドを呼び出す場合は、 プロパティ: なし
|
select |
ユーザーがビジュアル エンティティをクリックすると呼び出されます。選択内容を確認するには、 プロパティ: なし
|
データポリシー
すべてのコードとデータはブラウザで処理され、レンダリングされます。データがサーバーに送信されることはありません。