Включить переменную в заголовок графика - Google Earth Engine - PullRequest
0 голосов
/ 29 мая 2018

Есть ли способ включить переменную в качестве заголовка графика?Я хотел бы, чтобы мой заголовок зависел от значения определенного целого числа (в зависимости от iC_FC_size ).

var text = ee.String('Landsat Mission 4-8 - GEE image availability: ').cat(iC_FC_size)
var options1 = {
  title: 'Landsat Mission 4-8 - GEE image availability Suriname',
  hAxis: {title: 'Year'},
  vAxis: {title: 'Image count'},
  colors: ['red']
}; // options for plotting histogram
var histogram = ui.Chart.feature.histogram({
  features: iC_FC,
  property: 'year',
  minBucketWidth: 1
}).setOptions(options1);
var panel = ui.Panel({
      layout: ui.Panel.Layout.flow('vertical'),
      style: {position: 'bottom-right', height: '500px', width:'350px'}
    }); // create panel for plotting
    ui.root.add(panel);
    panel.widgets().set(0, histogram); // plot the histogram

Хотите знать, возможно ли это?

С уважением!

Ответы [ 2 ]

0 голосов
/ 01 августа 2018

Чтобы добавить к ответу от Берт Коэрвер : Если вы хотите, чтобы переменная в заголовке вашего графика была именем полигона из FeatureCollection, используемой в качестве ROI в вашей ImageCollection, это можно сделать следующим образом.сделай это:

var fc = ee.FeatureCollection('ft:some fusion table containing multiple polygons')
    .filter(ee.Filter.eq('name', 'Suriname')); // Here I have already chosen my ROI

// When you are ready to plot:
var area_name = fc.aggregate_array('name').getInfo();
var some_title = 'Name of area: ' + area_name;

var some_chart = ui.Chart.array.values(ee.Array([1,5,6,8,6]), 0).setOptions({title: some_title});
print(some_chart);
0 голосов
/ 19 июня 2018

Этот скрипт включает переменную в заголовок над диаграммой:

var ic = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR');

var size= ic.size().getInfo();

var some_title = 'How many LS5 scenes are there? Exactly ' + size+ ' scenes!';

var some_chart = ui.Chart.array.values(ee.Array([1,5,6,8,6]), 0).setOptions({title: some_title});
print(some_chart);

Метод ".getInfo ()" передает значение со стороны сервера на сторону клиента (т. Е. В браузер),Затем вы можете создать желаемую строку в качестве заголовка с помощью любых команд Javascript (например, с помощью «+»).

Другим способом было бы построить строку на стороне сервера и затем извлечь ее следующим образом:

var string_size = ee.String(ic.size());

var some_title = ee.String('How many LS5 scenes are there? Exactly ').cat(string_size).cat(' scenes!').getInfo();
...