Earth Engine JavaScript のCode Editor は Google グラフとシームレスに統合されているため、ui.Chart
関数を使用して表形式のデータの可視化を簡単に行うことができます。グラフは、コードエディタ コンソール、ui.Panel
ウィジェット、スタンドアロン ブラウザのタブでインタラクティブに表示できます。
グラフ数: DataTable
個
Earth Engine は、Google Visualization API を使用してグラフ作成をサポートしています。この API は DataTable
を受け付けます。これは 2 次元表で、行が観測値、列が観測属性です。Earth Engine のすべてのグラフは DataTable
から派生しています。ui.Chart
ウィジェットを使用すると、DataTable
を直接指定できます。グラフのカスタマイズに最も適していますが、特定の Earth Engine オブジェクトをグラフ化する方法よりも便利ではない場合があります(次のセクションを参照)。DataTable
からグラフを作成する方法の詳細は、以下をご覧ください。
Earth Engine オブジェクトのグラフ
ui.Chart
ウィジェットには、DataTable
を構築し、Image
、ImageCollection
、Feature
、FeatureCollection
、Array
、List
オブジェクトからグラフをレンダリングするためのヘルパー メソッドが用意されています。各関数は特定のデータ型を受け取り、グラフの系列と軸へのデータの割り当てを指定するさまざまな配置でデータを表形式に圧縮するメソッドが含まれています。
各データ型のグラフを生成する方法については、次のリンクをご覧ください。
グラフの種類
散布図、折れ線グラフ、棒グラフ、円グラフ、ヒストグラムなど、さまざまな種類のグラフを作成できます。具体的には、Google グラフの corechart パッケージで利用可能なグラフタイプを生成できます。ui.Chart.setChartType()
メソッドを使用してグラフの種類を設定します。Earth Engine オブジェクト グラフと DataTable
グラフのセクションでリンクされている各ページには、複数のグラフタイプを生成する例が含まれています。
ui.Chart.setChartType()
メソッドへの入力として、次の文字列を使用します。
'ScatterChart'
'LineChart'
'ColumnChart'
'BarChart'
'PieChart'
'AreaChart'
以下に例を示します。
var data = ee.List([0, 1, 2, 3, 4, 5]);
var chart = ui.Chart.array.values(data, 0, data)
.setChartType('ColumnChart');
print(chart);
表示とダウンロード
ui.Chart
ウィジェットは、次の 3 つの方法で表示できます。
var data = ee.List([0, 1, 2, 3, 4, 5]);
var chart = ui.Chart.array.values(data, 0, data);
print(chart);
ui.Panel
ウィジェット
var data = ee.List([0, 1, 2, 3, 4, 5]);
var chart = ui.Chart.array.values(data, 0, data);
var chartPanel = ui.Panel(chart);
Map.add(chartPanel);
- 別のブラウザタブで、表示された
ui.Chart
ウィジェットの右上にあるポップアウト アイコン( )をクリックします。新しいページでは、全画面表示と、グラフィック(PNG または SVG)または基盤となるデータの CSV ファイルとしてチャートをダウンロードするオプションが提供されます。
インタラクティビティ
グラフはデフォルトでインタラクティブです。ポイント、線、棒などにカーソルを合わせると、それぞれの x、y、シリーズの値が表示されます。軸のズームとパンは、必要に応じて、グラフの「エクスプローラ」機能を有効することで許可できます。
スタイル設定
Google グラフは、スタイル設定プロパティを使用して高度にカスタマイズできます。ui.Chart.setOptions()
メソッドを使用して、グラフ スタイルのプロパティを設定します。詳しくは、グラフのスタイル設定ガイドをご覧ください。
制限事項
ui.Chart
関数は 5,000 個の特徴のみをレンダリングします。FeatureCollection
、ImageCollection
、Array
、List
に要素が複数ある場合は、データを制限する方法について検討してください。頻度が高い長い時系列がある場合は、期間を短くするか、時間サンプリングを使用するか、時間複合体を生成してみてください。問題が空間的な場合は、ランダムなサブセットを使用してみます。リストまたは配列内のピクセルを操作している場合は、スケールを少し大きくするか、対象領域を小さくしてみてください。
長時間実行される計算では、Code Editor のインタラクティブ レスポンスの上限により、グラフが生成されないことがあります。グラフ リクエストがタイムアウトした場合は、分析の中間ステップをエクスポートし、エクスポートしたアセットからグラフを再作成してみてください。