Stylizacja wykresu

Wykresy utworzone przez moduł ui.Chart w Earth Engine w Edytorze kodu można stylizować za pomocą metody .setOptions(). Metoda przyjmuje jako dane wejściowe obiekt JavaScript po stronie klienta z opcjami konfiguracji. Opcje konfiguracji poszczególnych typów wykresów znajdziesz w odpowiedniej dokumentacji Google Charts w sekcji Opcje konfiguracji, np. Wykres liniowy.

Przykład opcji konfiguracji

Tutaj niestandardowy styl wykresu jest stosowany do przykładu ui.Chart.image.doySeries. Zawiera on wskazówki dotyczące formatowania obiektu opcji konfiguracji i jego stosowania w elementach 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);

Jak...

W przypadku tych przykładów obiekty JavaScript definiują tylko opcje konfiguracji istotne dla udzielenia odpowiedzi na pytanie. W razie potrzeby dodaj do obiektu dodatkowe opcje i przekaż wynik do metody .setOptions() obiektu ee.Chart.

ustawić tytuł wykresu?

{
  title: 'The Chart Title'
}

ukryć tytuł wykresu?

{
  titlePosition: 'none'
}

ukryć legendę?

{
  legend: {position: 'none'}
}

definiować limity osi?

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

Ustaw rozmiar i kolor symbolu?

Właściwości symboli dla wszystkich serii możesz ustawiać za pomocą właściwości najwyższego poziomu, na przykład:

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

lub ustawić właściwości wybranych serii:

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

Możesz też ustawić kolory dla poszczególnych serii, podając tablicę kolorów odpowiadającą długości i kolejności serii.

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

ukryć serię z legendy?

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

wyświetlać punkty na wykresie liniowym?

Pokaż punkty dla wszystkich serii:

{
  pointSize: 10
}

lub w przypadku poszczególnych serii:

{
  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
  }
}

wyświetlać linie na wykresie punktowym?

Wyświetlanie wierszy dla wszystkich serii:

{
  lineWidth: 10
}

lub w przypadku poszczególnych serii:

{
  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
  }
}

zastosować skalę logarytmiczną do osi?

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

zastosować funkcję wygładzającą do linii?

Zastosuj funkcję wygładzania do każdej serii linii:

{
  curveType: 'function'
}

lub pojedynczych serii:

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

powiększać i przesuwać osi wykresu?

Zapoznaj się z opcjami explorer dla poszczególnych typów wykresów Google. Umożliwi to powiększanie i przesuwanie w obu kierunkach.

{
  explorer: {}
}

Ogranicz przesuwanie i powiększanie do jednej osi:

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

ustawić przezroczystość symbolu punktu?

{
  dataOpacity: 0.5
}

obrócić osie?

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

ustawić styl tekstu?

Opcje stylizacji tekstu są określane za pomocą tego obiektu JavaScript:

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

Ustawianie stylu tekstu osi x:

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

Ustawianie stylu tekstu osi Y:

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

Ustawianie stylu tekstu legendy:

{
  legend: {textStyle: textStyle}
}

Możesz też ustawić nazwę i rozmiar czcionki dla wszystkich elementów tekstowych:

{
  fontName: 'arial',
  fontSize: 14
}

Ustawić kolor tła wykresu?

{
  chartArea: {backgroundColor: 'EBEBEB'}
}

set chart grid line color?

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

usunąć linie siatki?

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

formatowanie etykiet wartości osi?

Pełną listę opcji formatu etykiety wartości osi znajdziesz w tym przewodniku.

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

interpolować puste wartości osi y?

Brakujące lub puste wartości osi Y na wykresie liniowym mogą powodować przerwy w wierszach. Aby narysować ciągłą linię, użyj interpolateNulls: true.

{
  interpolateNulls: true
}

dodać linię trendu?

Linia trendu może być automatycznie generowana w przypadku wykresów punktowych, słupkowych, kolumnowych i liniowych. Więcej informacji znajdziesz na tej stronie.

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