Earth Engine JavaScript 代码编辑器可与 Google 图表无缝集成,以便通过 ui.Chart
函数轻松直观呈现表格数据。图表可以在 Code Editor 控制台、ui.Panel
Widget 和独立的浏览器标签页中以互动方式显示。
DataTable
个图表
Earth Engine 使用 Google Visualization API 来支持绘制图表。该 API 接受 DataTable
,这是一个二维表,其中行是观察结果,列是观察属性。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
widget 可通过以下三种方式显示:
- 在代码编辑器控制台中
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 和系列值。您可以选择启用图表的“Explorer”功能,以允许对轴进行缩放和平移。
样式
Google 图表可通过样式属性进行高度自定义。使用 ui.Chart.setOptions()
方法设置图表样式属性。如需了解详情,请参阅图表样式设置指南。
限制
ui.Chart
函数将仅渲染 5,000 个地图项。如果您的 FeatureCollection
、ImageCollection
、Array
或 List
包含更多元素,请考虑限制数据的方法。如果您有长时间序列且节奏率较高,请尝试使用较短的时间段、时间采样或生成时间复合项。如果问题是空间性问题,请尝试使用随机子集。如果您在列表或数组中处理像素,请尝试使用稍大一点的比例或更小的区域。
由于代码编辑器的互动响应限制,长时间运行的计算可能会无法生成图表。如果您的图表请求超时,请尝试导出分析的中间步骤,然后根据导出的素材资源重新生成图表。