Оформление диаграммы

Диаграммы, созданные модулем ui.Chart в редакторе кода Earth Engine, можно стилизовать с помощью метода .setOptions() . В качестве входных данных метод принимает клиентский объект JavaScript с параметрами конфигурации. Параметры конфигурации для каждого типа диаграммы представлены в соответствующей документации Google Charts в разделе «Параметры конфигурации» , например: Линейная диаграмма .

Пример вариантов конфигурации

Здесь к примеру ui.Chart.image.doySeries применен собственный стиль диаграммы. Он предоставляет руководство о том, как отформатировать объект параметров конфигурации и применить его к ee.Chart .

// Import the example feature collection and subset the glassland feature.
var grassland = ee.FeatureCollection('projects/google/charts_feature_example')
                    .filter(ee.Filter.eq('label', 'Grassland'));

// Load MODIS vegetation indices data and subset a decade of images.
var vegIndices = ee.ImageCollection('MODIS/006/MOD13A1')
                     .filter(ee.Filter.date('2010-01-01', '2020-01-01'))
                     .select(['NDVI', 'EVI']);

// Set chart style properties.
var chartStyle = {
  title: 'Average Vegetation Index Value by Day of Year for Grassland',
  hAxis: {
    title: 'Day of year',
    titleTextStyle: {italic: false, bold: true},
    gridlines: {color: 'FFFFFF'}
  },
  vAxis: {
    title: 'Vegetation index (x1e4)',
    titleTextStyle: {italic: false, bold: true},
    gridlines: {color: 'FFFFFF'},
    format: 'short',
    baselineColor: 'FFFFFF'
  },
  series: {
    0: {lineWidth: 3, color: 'E37D05', pointSize: 7},
    1: {lineWidth: 7, color: '1D6B99', lineDashStyle: [4, 4]}
  },
  chartArea: {backgroundColor: 'EBEBEB'}
};

// Define the chart.
var chart =
    ui.Chart.image
        .doySeries({
          imageCollection: vegIndices,
          region: grassland,
          regionReducer: ee.Reducer.mean(),
          scale: 500,
          yearReducer: ee.Reducer.mean(),
          startDay: 1,
          endDay: 365
        })
        .setSeriesNames(['EVI', 'NDVI']);

// Apply custom style properties to the chart.
chart.setOptions(chartStyle);

// Print the chart to the console.
print(chart);

Как мне...

В следующих примерах представлены объекты JavaScript, определяющие только соответствующие параметры конфигурации для ответа на вопрос. При необходимости добавьте к объекту дополнительные параметры и передайте результат методу .setOptions() ee.Chart .

установить заголовок диаграммы?

{
  title: 'The Chart Title'
}

скрыть заголовок диаграммы?

{
  titlePosition: 'none'
}

скрыть легенду?

{
  legend: {position: 'none'}
}

определить пределы оси?

{
  hAxis: {  // x-axis
    viewWindow: {min: 10, max: 100}
  },
  vAxis: {  // y-axis
    viewWindow: {min: -10, max: 50}
  }
}

установить размер и цвет символа?

Вы можете установить свойства символа для всех серий, используя свойства верхнего уровня, например:

{
  colors: ['blue'],
  pointSize: 10,
  lineWidth: 5,
  lineDashStyle: [4, 4],
  pointShape: 'diamond'  // 'circle', 'triangle', 'square', 'star', or 'polygon'
}

или установите свойства для выбранной серии:

{
  series: {
    0: {lineWidth: 3, color: 'yellow', pointSize: 7},
    2: {lineWidth: 7, color: '1D6D99', lineDashStyle: [4, 4]}
  }
}

Вы также можете установить цвета для отдельных серий, предоставив массив цветов, соответствующий длине и порядку серий.

{
  colors: ['blue', 'yellow', 'red']
}

скрыть серию от легенды?

{
  series: {
    0: {visibleInLegend: false},  // hides the 1st series in the legend
    2: {visibleInLegend: false}  // hides the 3rd series in the legend
  }
}

показать точки на линейном графике?

Показать баллы для всех серий:

{
  pointSize: 10
}

или для отдельной серии:

{
  series: {
    0: {pointSize: 10},  // shows size 10 points for the 1st line series
    2: {pointSize: 10}  // shows size 10 points for the 3rd line series
  }
}

показать линии на точечной диаграмме?

Показать строки для всех серий:

{
  lineWidth: 10
}

или для отдельной серии:

{
  series: {
    0: {lineWidth: 10},  // shows size 10 lines for the 1st point series
    2: {lineWidth: 10}  // shows size 10 lines for the 3rd point series
  }
}

применить логарифмический масштаб к оси?

{
  hAxis: {logScale: true},  // x-axis
  vAxis: {logScale: true}  // y-axis
}

применить функцию сглаживания к линии?

Примените функцию сглаживания к каждой серии линий:

{
  curveType: 'function'
}

или отдельные серии:

{
  series: {
    0: {curveType: 'function'},  // apply smoothing function to 1st line series
    2: {curveType: 'function'}  // apply smoothing function to 3rd line series
  }
}

масштабировать и панорамировать оси диаграммы?

См. параметры explorer для соответствующих типов диаграмм Google. Следующее позволит масштабировать и панорамировать по обеим осям.

{
  explorer: {}
}

Ограничьте панорамирование и масштабирование одной осью:

{
  explorer: {axis: 'vertical'}  // or 'horizontal'
}

непрозрачность символа заданной точки?

{
  dataOpacity: 0.5
}

вращать оси?

{
  orientation: 'vertical'  // or 'horizontal'
}

установить стиль текста?

Параметры стиля текста указываются в соответствии со следующим объектом JavaScript:

var textStyle = {
  color: 'grey',
  fontName: 'arial',
  fontSize: 14,
  bold: true,
  italic: false
}

Установите стиль текста по оси X:

{
  hAxis: {
    textStyle: textStyle,  // tick label text style
    titleTextStyle: textStyle  // axis title text style
  }
}

Установите стиль текста по оси Y:

{
  vAxis: {
    textStyle: textStyle,  // tick label text style
    titleTextStyle: textStyle  // axis title text style
  }
}

Установите стиль текста легенды:

{
  legend: {textStyle: textStyle}
}

Вы также можете установить имя и размер шрифта для всех текстовых элементов:

{
  fontName: 'arial',
  fontSize: 14
}

установить цвет фона диаграммы?

{
  chartArea: {backgroundColor: 'EBEBEB'}
}

установить цвет линии сетки диаграммы?

{
  hAxis: {  // x-axis
    gridlines: {color: 'FFFFFF'}
  },
  vAxis: {  // y-axis
    gridlines: {color: 'FFFFFF'}
  }
}

удалить линии сетки?

{
  hAxis: {  // x-axis
    gridlines: {count: 0}
  },
  vAxis: {  // y-axis
    gridlines: {count: 0}
  }
}

форматировать метки значений оси?

Полный список параметров формата меток значений оси см. в этом руководстве .

{
  hAxis: {  // x-axis
    format: 'short'  // applies the 'short' format option
  },
  vAxis: {  // y-axis
    format: 'scientific'  // applies the 'scientific' format option
  }
}

интерполировать нулевые значения оси Y?

Отсутствующие или нулевые значения оси Y на линейной диаграмме могут привести к разрывам строк. Используйте interpolateNulls: true , чтобы нарисовать непрерывную линию.

{
  interpolateNulls: true
}

добавить линию тренда?

Линия тренда может быть автоматически создана для точечных, гистограмм, столбчатых и линейных диаграмм. Смотрите эту страницу для получения полной информации.

{
  trendlines: {
    0: {  // add a trend line to the 1st series
      type: 'linear',  // or 'polynomial', 'exponential'
      color: 'green',
      lineWidth: 5,
      opacity: 0.2,
      visibleInLegend: true,
    }
  }
}