تحتوي وحدة ui.Chart.feature
على مجموعة من الدوال لعرض
الرسوم البيانية من عناصر Feature
وFeatureCollection
. يحدِّد اختيار الدالّة ترتيب البيانات في الرسم البياني، أي ما يحدِّد قيم محورَي السّين والعمودي وما يحدِّد السلسلة. استخدِم أوصاف الدوالّ التالية
وأمثلتها لتحديد أفضل دالة ونوع رسم بياني لهدفك.
دوالّ الرسوم البيانية
استخدِم المخطّطات البيانية التالية كدليل مرئي لفهم كيفية ترتيب كل دالة للعناصر وخصائصها في الرسم البياني، أي العناصر التي تحدِّد قيم x وy والسلسلة.
يتمّ رسم العناصر على طول محور السينات حسب قيم سمة محدّدة. يتم تعريف السلاسل بقائمة بأسماء السمات التي يتم رسم قيمها على طول محور y.
يتمّ رسم خصائص العناصر على طول محور السّين حسب الاسم، ويتمّ رسم قيم الخصائص المحدّدة على طول محور الصّاد. السلاسل هي ميزات تم تصنيفها حسب قيم خاصية محدّدة.
يتمّ رسم العناصر على طول محور السينات حسب قيم سمة محدّدة. يتمّ تحديد السلسلة بواسطة القيم الفريدة لسمة معيّنة. يتم تحديد موضع المحور Y من خلال قيمة خاصيّة معيّنة.
مخطّط بياني هرمي للتردد لقيم سمة محدّدة
- المحور السيني: مجموعات المخطّط البياني الشريطي لقيم موقع محدّد
- المحور Y: معدّل تكرار السمات المؤهّلة لكل مجموعة في المخطّط البياني المدرَج
مثال للبيانات
تعتمد الأمثلة التالية على FeatureCollection
يتألّف من ثلاث سمات
للمنطقة الإيكولوجية تتضمّن سمات تصف القيم العادية للمناخ.
الاطّلاع على كيفية إنشاء أمثلة البيانات
محرِّر الرموز البرمجية (JavaScript)
// Define three representative ecoregions in the USA. var desert = ee.Feature( ee.Geometry.Rectangle(-109.21, 31.42, -108.3, 32.03), {label: 'Desert', value: 0}); var forest = ee.Feature( ee.Geometry.Rectangle(-122.73, 43.45, -122.28, 43.91), {label: 'Forest', value: 1}); var grassland = ee.Feature( ee.Geometry.Rectangle(-101.81, 41.7, -100.53, 42.51), {label: 'Grassland', value: 2}); // Combine features into a feature collection. var ecoregions = ee.FeatureCollection([desert, forest, grassland]); // Load PRISM climate normals image collection; convert images to bands. var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands(); // Summarize climate normals for each ecoregion feature as a set or properties. ecoregions = normClim.reduceRegions( {collection: ecoregions, reducer: ee.Reducer.mean(), scale: 5e4}); // Add a property for whether January temperature is warm or not. ecoregions = ecoregions.map(function(ecoregion) { return ecoregion.set('warm', ee.Number(ecoregion.get('01_tmean')).gt(0)); });
ui.Chart.feature.byFeature
رسم بياني عمودي
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم سمة محدّدة. يتم تمثيل السلاسل بواسطة أعمدة متجاورة يتم تحديدها من خلال قائمة بأسماء السمات التي يتم رسم قيمها على طول محور y.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions.select('[0-9][0-9]_tmean|label'), xProperty: 'label', }) .setSeriesNames([ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]) .setChartType('ColumnChart') .setOptions({ title: 'Average Monthly Temperature by Ecoregion', hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Temperature (°C)', titleTextStyle: {italic: false, bold: true} }, colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ] }); print(chart);
رسم بياني شريطي
يتمّ رسم العناصر على طول محور y، ويتمّ تصنيفها حسب قيم سمة محدّدة. يتم تمثيل السلاسل بشرائط متجاورة يتم تحديدها من خلال قائمة بأسماء السمات التي يتم رسم قيمها على طول محور x.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions.select('[0-9][0-9]_tmean|label'), xProperty: 'label', }) .setSeriesNames([ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]) .setChartType('BarChart') .setOptions({ title: 'Average Monthly Temperature by Ecoregion', hAxis: { title: 'Temperature (°C)', titleTextStyle: {italic: false, bold: true} }, vAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ] }); print(chart);
رسم بياني عمودي مكدّس
صيغة مطلقة
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم سمة محدّدة. يتم تمثيل السلاسل بأعمدة مكدّسة يتم تحديدها من خلال قائمة بأسماء السمات التي يتم رسم قيمها على طول محور y على أنّها مجموع السلاسل التراكمية.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions.select('[0-9][0-9]_ppt|label'), xProperty: 'label' }) .setSeriesNames([ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]) .setChartType('ColumnChart') .setOptions({ title: 'Average Monthly Precipitation by Ecoregion', hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ], isStacked: 'absolute' }); print(chart);
قريب
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم خاصيّة محدّدة. يتم تمثيل السلاسل بأعمدة مُكدَّسة يتم تحديدها من خلال قائمة بأسماء السمات التي يتم رسم قيمها على طول محور y كنسبة مئوية من السلاسل المجمّعة.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions.select('[0-9][0-9]_ppt|label'), xProperty: 'label' }) .setSeriesNames([ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]) .setChartType('ColumnChart') .setOptions({ title: 'Average Monthly Precipitation by Ecoregion', hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ], isStacked: 'percent' }); print(chart);
رسم بياني للنقاط المبعثرة
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم سمة محدّدة. يتم تمثيل السلاسل بنقاط تحدّدها قائمة بأسماء السمات التي يتم تمثيل قيمها على طول محور y.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions, xProperty: 'label', yProperties: ['01_tmean', '07_tmean'] }) .setSeriesNames(['Jan', 'Jul']) .setChartType('ScatterChart') .setOptions({ title: 'Average Monthly Temperature by Ecoregion', hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Temperature (°C)', titleTextStyle: {italic: false, bold: true} }, pointSize: 10, colors: ['1d6b99', 'cf513e'], }); print(chart);
رسم بياني مجمّع
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم سمة محدّدة. يتم تمثيل السلاسل بالنقاط والأعمدة التي يتم تحديدها من خلال قائمة بأسماء السمات التي يتم رسم قيمها على طول محور y. يتم إنشاء هذا الرسم البياني باستخدام محورَين و نمط خاص بالسلسلة.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .byFeature({ features: ecoregions, xProperty: 'label', yProperties: ['06_ppt', '06_tmean'] }) .setSeriesNames(['Precipitation', 'Temperature']) .setChartType('ColumnChart') .setOptions({ title: 'Average June Temperature and Precipitation by Ecoregion', series: { 0: {targetAxisIndex: 1, type: 'bar', color: '1d6b99'}, 1: { targetAxisIndex: 0, type: 'line', lineWidth: 0, pointSize: 10, color: 'e37d05' } }, hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxes: { 0: { title: 'Temperature (°C)', baseline: 0, titleTextStyle: {italic: false, bold: true, color: 'e37d05'} }, 1: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true, color: '1d6b99'} }, }, bar: {groupWidth: '40%'}, }); print(chart);
ui.Chart.feature.byProperty
مثال على الإعداد
تقبل الدالة ui.Chart.feature.byProperty
قاموسًا يتيح
لك التحكّم في التصنيف وترتيب أسماء المواقع على طول محور x من خلال
منح قيم رقمية لها. تستخدِم الرسوم البيانية للشبكة الديكارتية التالية هذا
الخيار لضبط تصنيفات الأشهر وترتيب أسماء الأشهر بترتيب زمني لتحديد
متوسط هطول الأمطار الشهري.
رسم بياني عمودي
يتمّ رسم خصائص العناصر على طول محور السّين، ويتمّ تصنيفها وترتيبها من خلال إدخال قاموس. ويتمّ رسم قيم الخصائص المحدّدة على طول محور القصّ. السلاسل هي ميزات يتم تمثيلها بالأعمدة وتُصنَّف حسب
قيم خاصية محدّدة. لتحويله إلى رسم بياني شريطي، استخدِم
.setChartType('BarChart')
.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define a dictionary that associates property names with values and labels. var precipInfo = { '01_ppt': {v: 1, f: 'Jan'}, '02_ppt': {v: 2, f: 'Feb'}, '03_ppt': {v: 3, f: 'Mar'}, '04_ppt': {v: 4, f: 'Apr'}, '05_ppt': {v: 5, f: 'May'}, '06_ppt': {v: 6, f: 'Jun'}, '07_ppt': {v: 7, f: 'Jul'}, '08_ppt': {v: 8, f: 'Aug'}, '09_ppt': {v: 9, f: 'Sep'}, '10_ppt': {v: 10, f: 'Oct'}, '11_ppt': {v: 11, f: 'Nov'}, '12_ppt': {v: 12, f: 'Dec'} }; // Organize property information into objects for defining x properties and // their tick labels. var xPropValDict = {}; // Dictionary to codify x-axis property names as values. var xPropLabels = []; // Holds dictionaries that label codified x-axis values. for (var key in precipInfo) { xPropValDict[key] = precipInfo[key].v; xPropLabels.push(precipInfo[key]); } // Define the chart and print it to the console. var chart = ui.Chart.feature .byProperty({ features: ecoregions, xProperties: xPropValDict, seriesProperty: 'label' }) .setChartType('ColumnChart') .setOptions({ title: 'Average Ecoregion Precipitation by Month', hAxis: { title: 'Month', titleTextStyle: {italic: false, bold: true}, ticks: xPropLabels }, vAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, colors: ['f0af07', '0f8755', '76b349'], }); print(chart);
رسم بياني خطي
يتمّ رسم خصائص العناصر على طول محور السّين، ويتمّ تصنيفها وترتيبها حسب إدخال القاموس، ويتمّ رسم قيم الخصائص المحدّدة على طول محور القصّ. السلاسل هي ميزات يتم تمثيلها بخطوط ويتم تصنيفها باستخدام قيم خاصية محدّدة.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define a dictionary that associates property names with values and labels. var precipInfo = { '01_ppt': {v: 1, f: 'Jan'}, '02_ppt': {v: 2, f: 'Feb'}, '03_ppt': {v: 3, f: 'Mar'}, '04_ppt': {v: 4, f: 'Apr'}, '05_ppt': {v: 5, f: 'May'}, '06_ppt': {v: 6, f: 'Jun'}, '07_ppt': {v: 7, f: 'Jul'}, '08_ppt': {v: 8, f: 'Aug'}, '09_ppt': {v: 9, f: 'Sep'}, '10_ppt': {v: 10, f: 'Oct'}, '11_ppt': {v: 11, f: 'Nov'}, '12_ppt': {v: 12, f: 'Dec'} }; // Organize property information into objects for defining x properties and // their tick labels. var xPropValDict = {}; // Dictionary to codify x-axis property names as values. var xPropLabels = []; // Holds dictionaries that label codified x-axis values. for (var key in precipInfo) { xPropValDict[key] = precipInfo[key].v; xPropLabels.push(precipInfo[key]); } // Define the chart and print it to the console. var chart = ui.Chart.feature .byProperty({ features: ecoregions, xProperties: xPropValDict, seriesProperty: 'label' }) .setChartType('ScatterChart') .setOptions({ title: 'Average Ecoregion Precipitation by Month', hAxis: { title: 'Month', titleTextStyle: {italic: false, bold: true}, ticks: xPropLabels }, vAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, colors: ['f0af07', '0f8755', '76b349'], lineSize: 5, pointSize: 0 }); print(chart);
رسم بياني مساحي
يتمّ رسم خصائص العناصر على طول محور السّين، ويتمّ تصنيفها وترتيبها من خلال إدخال قاموس. ويتمّ رسم قيم الخصائص المحدّدة على طول محور القصّ. السلاسل هي ميزات يتم تمثيلها بخطوط ومناطق مظلّلة، ويتم تصنيفها باستخدام قيم خاصية محدّدة.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define a dictionary that associates property names with values and labels. var precipInfo = { '01_ppt': {v: 1, f: 'Jan'}, '02_ppt': {v: 2, f: 'Feb'}, '03_ppt': {v: 3, f: 'Mar'}, '04_ppt': {v: 4, f: 'Apr'}, '05_ppt': {v: 5, f: 'May'}, '06_ppt': {v: 6, f: 'Jun'}, '07_ppt': {v: 7, f: 'Jul'}, '08_ppt': {v: 8, f: 'Aug'}, '09_ppt': {v: 9, f: 'Sep'}, '10_ppt': {v: 10, f: 'Oct'}, '11_ppt': {v: 11, f: 'Nov'}, '12_ppt': {v: 12, f: 'Dec'} }; // Organize property information into objects for defining x properties and // their tick labels. var xPropValDict = {}; // Dictionary to codify x-axis property names as values. var xPropLabels = []; // Holds dictionaries that label codified x-axis values. for (var key in precipInfo) { xPropValDict[key] = precipInfo[key].v; xPropLabels.push(precipInfo[key]); } // Define the chart and print it to the console. var chart = ui.Chart.feature .byProperty({ features: ecoregions, xProperties: xPropValDict, seriesProperty: 'label' }) .setChartType('AreaChart') .setOptions({ title: 'Average Ecoregion Precipitation by Month', hAxis: { title: 'Month', titleTextStyle: {italic: false, bold: true}, ticks: xPropLabels }, vAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, colors: ['f0af07', '0f8755', '76b349'], lineSize: 5, pointSize: 0, curveType: 'function' }); print(chart);
رسم بياني دائري
تمثل قطعة الكعكة ميزة، وكل شريحة هي تصنيف خاصية يتم تحويل قيمته إلى نسبته مئوية من مجموع كل قيم الخصائص التي تتألف منها قطعة الكعكة.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Subset the forest ecoregion feature and select the monthly precipitation // properties, rename them as abbreviated months. var thisForest = ecoregions.filter(ee.Filter.eq('label', 'Forest')) .select(Object.keys(precipInfo), [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]); // Define the chart and print it to the console. var chart = ui.Chart.feature .byProperty({ features: thisForest, xProperties: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] }) .setChartType('PieChart') .setOptions({ title: 'Average Monthly Precipitation for Forest Ecoregion', colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ] }); print(chart);
رسم بياني دائري مجوف
يمكنك تحويل رسم بياني دائري إلى رسم بياني على شكل دونات من خلال ضبط خيار الرسم البياني
pieHole
. ستبدو الأرقام التي تتراوح بين 0.4 و0.6 أفضل في معظم الرسوم البيانية.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Subset the forest ecoregion feature and select the monthly precipitation // properties, rename them as abbreviated months. var thisForest = ecoregions.filter(ee.Filter.eq('label', 'Forest')) .select(Object.keys(precipInfo), [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ]); // Define the chart and print it to the console. var chart = ui.Chart.feature .byProperty({ features: thisForest, xProperties: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] }) .setChartType('PieChart') .setOptions({ title: 'Average Monthly Precipitation for Forest Ecoregion', colors: [ '604791', '1d6b99', '39a8a7', '0f8755', '76b349', 'f0af07', 'e37d05', 'cf513e', '96356f', '724173', '9c4f97', '696969' ], pieHole: 0.4, }); print(chart);
ui.Chart.feature.groups
رسم بياني عمودي
يتمّ رسم العناصر على طول محور السينات، ويتمّ تصنيفها حسب قيم سمة محدّدة.
يتم تمثيل السلاسل بأعمدة تحدّدها مجموعة القيم الفريدة لمَعلمة معيّنة. يتم تحديد موضع المحور Y حسب قيمة سمة معيّنة. يمكن تغيير هذا
المخطّط إلى رسم بياني بالنقاط المبعثرة من خلال ضبط نوع الرسم البياني على
'ScatterChart'
(.setChartType('ScatterChart')
). بدلاً من ذلك، إذا كان الوقت هو
متغيّر المحور x، قد تفضّل استخدام رسم بياني خطي:
.setChartType('LineChart')
.
محرِّر الرموز البرمجية (JavaScript)
// Import the example feature collection. var ecoregions = ee.FeatureCollection('projects/google/charts_feature_example'); // Define the chart and print it to the console. var chart = ui.Chart.feature .groups({ features: ecoregions, xProperty: 'label', yProperty: '01_tmean', seriesProperty: 'warm' }) .setSeriesNames(['Warm', 'Cold']) .setChartType('ColumnChart') .setOptions({ title: 'Average January Temperature by Ecoregion', hAxis: {title: 'Ecoregion', titleTextStyle: {italic: false, bold: true}}, vAxis: { title: 'Jan temp (°C)', titleTextStyle: {italic: false, bold: true} }, bar: {groupWidth: '80%'}, colors: ['cf513e', '1d6b99'], isStacked: true }); print(chart);
ui.Chart.feature.histogram
يتمّ تحديد المحور x من خلال مجموعات القيم لنطاق قيم ملف شخصي محدّد، ويمثّل المحور y عدد العناصر في المجموعة المحدّدة.
محرِّر الرموز البرمجية (JavaScript)
// Load PRISM climate normals image collection; convert images to bands. var normClim = ee.ImageCollection('OREGONSTATE/PRISM/Norm81m').toBands(); // Make a point sample of climate variables for a region in western USA. var region = ee.Geometry.Rectangle(-123.41, 40.43, -116.38, 45.14); var climSamp = normClim.sample(region, 5000); // Define the chart and print it to the console. var chart = ui.Chart.feature .histogram({features: climSamp, property: '07_ppt', maxBuckets: 30}) .setOptions({ title: 'July Precipitation Distribution for NW USA', hAxis: { title: 'Precipitation (mm)', titleTextStyle: {italic: false, bold: true} }, vAxis: { title: 'Pixel count', titleTextStyle: {italic: false, bold: true} }, colors: ['1d6b99'], legend: {position: 'none'} }); print(chart);