É possível estilizar os gráficos produzidos pelo módulo ui.Chart
no editor de código do Earth Engine usando o método .setOptions()
. O método usa um objeto JavaScript
do lado do cliente de opções de configuração como entrada. As opções de configuração
para cada tipo de gráfico são fornecidas na respectiva documentação do Google Charts
na seção Opções de configuração, por exemplo:
Gráfico de linhas.
Exemplo de opções de configuração
Aqui, o estilo personalizado do gráfico é aplicado ao
exemplo ui.Chart.image.doySeries
.
Ele fornece um guia sobre como formatar um objeto de opções de configuração e aplicá-lo
a um 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);
Como faço para...
Os exemplos a seguir fornecem objetos JavaScript que definem apenas as
opções de configuração relevantes para responder à pergunta. Adicione outras opções ao
objeto conforme necessário e transmita o resultado ao método .setOptions()
de um
ee.Chart
.
definir o título do gráfico?
{ title: 'The Chart Title' }
ocultar o título do gráfico?
{ titlePosition: 'none' }
ocultar a legenda?
{ legend: {position: 'none'} }
definir os limites do eixo?
{ hAxis: { // x-axis viewWindow: {min: 10, max: 100} }, vAxis: { // y-axis viewWindow: {min: -10, max: 50} } }
definir o tamanho e a cor do símbolo?
É possível definir propriedades de símbolo para todas as séries usando propriedades de nível superior, por exemplo:
{ colors: ['blue'], pointSize: 10, lineWidth: 5, lineDashStyle: [4, 4], pointShape: 'diamond' // 'circle', 'triangle', 'square', 'star', or 'polygon' }
ou defina propriedades para a série selecionada:
{ series: { 0: {lineWidth: 3, color: 'yellow', pointSize: 7}, 2: {lineWidth: 7, color: '1D6D99', lineDashStyle: [4, 4]} } }
Também é possível definir cores para séries individuais fornecendo uma matriz de cores que corresponde ao comprimento e à ordem da série.
{ colors: ['blue', 'yellow', 'red'] }
Ocultar uma série da legenda?
{ series: { 0: {visibleInLegend: false}, // hides the 1st series in the legend 2: {visibleInLegend: false} // hides the 3rd series in the legend } }
mostrar pontos em um gráfico de linhas?
Mostrar pontos de todas as séries:
{ pointSize: 10 }
ou para séries individuais:
{ 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 } }
mostrar linhas em um gráfico de pontos?
Mostrar linhas de todas as séries:
{ lineWidth: 10 }
ou para séries individuais:
{ 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 } }
aplicar a escala logarítmica a um eixo?
{ hAxis: {logScale: true}, // x-axis vAxis: {logScale: true} // y-axis }
aplicar uma função de suavização a uma linha?
Aplique uma função de suavização a cada série de linhas:
{ curveType: 'function' }
ou séries individuais:
{ series: { 0: {curveType: 'function'}, // apply smoothing function to 1st line series 2: {curveType: 'function'} // apply smoothing function to 3rd line series } }
aplicar zoom e movimentar os eixos do gráfico?
Consulte as opções explorer
para os respectivos tipos de gráfico do Google. O exemplo a seguir
permite fazer zoom e mover os dois eixos.
{ explorer: {} }
Limite a movimentação e o zoom a um único eixo:
{ explorer: {axis: 'vertical'} // or 'horizontal' }
definir a opacidade do símbolo do ponto?
{ dataOpacity: 0.5 }
girar eixos?
{ orientation: 'vertical' // or 'horizontal' }
definir estilo de texto?
As opções de estilo de texto são especificadas de acordo com o seguinte objeto JavaScript:
var textStyle = { color: 'grey', fontName: 'arial', fontSize: 14, bold: true, italic: false }
Defina o estilo de texto do eixo x:
{ hAxis: { textStyle: textStyle, // tick label text style titleTextStyle: textStyle // axis title text style } }
Defina o estilo do texto do eixo y:
{ vAxis: { textStyle: textStyle, // tick label text style titleTextStyle: textStyle // axis title text style } }
Defina o estilo do texto da legenda:
{ legend: {textStyle: textStyle} }
Também é possível definir o nome e o tamanho da fonte para todos os elementos de texto:
{ fontName: 'arial', fontSize: 14 }
definir a cor de fundo do gráfico?
{ chartArea: {backgroundColor: 'EBEBEB'} }
definir a cor da linha da grade do gráfico?
{ hAxis: { // x-axis gridlines: {color: 'FFFFFF'} }, vAxis: { // y-axis gridlines: {color: 'FFFFFF'} } }
remover linhas de grade?
{ hAxis: { // x-axis gridlines: {count: 0} }, vAxis: { // y-axis gridlines: {count: 0} } }
formatar os rótulos de valor do eixo?
Consulte este guia para conferir a lista completa de opções de formato de rótulo de valor do eixo.
{ hAxis: { // x-axis format: 'short' // applies the 'short' format option }, vAxis: { // y-axis format: 'scientific' // applies the 'scientific' format option } }
Interpolar valores nulos do eixo Y?
Valores do eixo Y ausentes ou nulos em um gráfico de linhas podem causar quebras de linha. Use
interpolateNulls: true
para desenhar uma linha contínua.
{ interpolateNulls: true }
Adicionar uma linha de tendência?
Uma linha de tendência pode ser gerada automaticamente para gráficos de dispersão, barras, colunas e linhas. Consulte esta página para mais detalhes.
{ trendlines: { 0: { // add a trend line to the 1st series type: 'linear', // or 'polynomial', 'exponential' color: 'green', lineWidth: 5, opacity: 0.2, visibleInLegend: true, } } }