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