當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS histogram.histogram用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

AMD: require(["esri/smartMapping/statistics/histogram"], (histogram) => { /* code goes here */ });

ESM: import histogram from "@arcgis/core/smartMapping/statistics/histogram";

函數: esri/smartMapping/statistics/histogram

自從:用於 JavaScript 4.2 的 ArcGIS API

用法說明

histogram.histogram函數(或屬性)的定義如下:

histogram (params) {Promise<HistogramResult>}


為從給定 layer 中的 field 返回的數據生成直方圖。返回的對象可用於在查詢和顯示統計信息的可視化創作應用程序和分析應用程序中向 UI 顯示直方圖。

參數:

規格:
類型說明
params Object

有關可以傳遞給此函數的參數的詳細信息,請參見下表。

規格:

要為其生成直方圖的層。

field

String

可選的

將為其生成直方圖的數值字段的名稱。如果使用 valueExpression,則忽略此屬性。

normalizationType

String

可選的

確定提供的 field 值如何標準化。此參數僅標準化由 field 引用的數據,不適用於從 valueExpressionsqlExpression 返回的值。有關可能值的列表,請參見下表。

可能的值 說明
field 使用在normalizationField 參數中指定的字段值除數據值。如果使用此值,則必須提供 normalizationField
percent-of-total 將數據值除以所有數據值的總和,然後乘以 100。使用 normalizationTotal 定義要標準化的總值。
log 計算數據值的以 10 為底的對數。這對於查看高度傾斜的數據分布可能是一種有用的方法,因為它減少了異常值的影響。僅計算正值。如果您的數據包含大量負值,則應避免使用這種規範化類型。
natural-log 計算數據值的自然對數。這對於查看高度傾斜的數據分布可能是一種有用的方法,因為它減少了異常值的影響。僅計算正值。如果您的數據包含大量負值,則應避免使用這種規範化類型。
square-root 計算數據值的平方根。這對於查看高度傾斜的數據分布可能是一種有用的方法,因為它減少了異常值的影響。僅計算正值。如果您的數據包含大量負值,則應避免使用這種規範化類型。

可能的值"field"|"log"|"percent-of-total"|"natural-log"|"square-root"

normalizationField

String

可選的

用於規範化從給定 field 返回的值的字段。

normalizationTotal

Number

可選的

僅在 normalizationTypepercent-of-total 時適用。指示用於標準化字段值的總量。

classificationMethod

String

可選的

數據分類的方法。有關可能值的列表,請參見下表。

可能的值 說明
natural-breaks 聚類的數據值被放置在一個類中。類中斷發生在簇之間存在間隙的地方。如果您的數據分布不均勻,則應使用此方法;也就是說,許多特征具有相同或相似的值,並且值組之間存在差距。
equal-interval 每個類都有相同的取值範圍;換句話說,每個類別的高值和低值之間的差異是相等的。如果您的數據分布均勻,並且您想強調特征之間的值差異,則應使用此方法。
quantile 每個類都有大致相同數量的特征。如果你的數據是均勻分布的,並且你想強調特征之間相對位置的差異,你應該使用分位數分類方法。例如,如果將點值分為五個等級,則最高等級的點將落入所有點的前五分之一。
standard-deviation 10.50.25 標準差為間隔將分類分隔符放置在平均值上方和下方,直到所有數據值都包含在一個類中。

可能的值"equal-interval"|"natural-breaks"|"quantile"|"standard-deviation"

standardDeviationInterval

Number

可選的

classificationMethod = "standard-deviation" 時,這將設置應設置每個分類的間隔(例如 0.250.330.51 )。

minValue

Number

可選的

直方圖的最小邊界值。將此與 maxValue 結合使用以生成自定義下限和上限之間的直方圖。

maxValue

Number

可選的

直方圖的最大邊界值。將此與 minValue 結合使用以生成自定義下限和上限之間的直方圖。

numBins

Number

可選的
默認值: 10

指示要為直方圖生成的類數。

valueExpression

String

可選的

遵循 Arcade Visualization Profile 定義的規範的 Arcade 表達式。表達式可以使用 $feature 全局變量引用字段值,並且必須返回一個數字。此屬性覆蓋 field 屬性,因此用於代替輸入 field 值。

sqlExpression

String

可選的

計算為數字的 SQL 表達式。

sqlWhere

String

可選的

用於過濾統計查詢函數的 SQL where 子句。例如,這在您希望避免除以零的情況下很有用,就像創建優勢可視化的情況一樣。

view

View

可選的

當指定 valueExpression 時,需要 SceneViewMapView 實例。

features

Graphic[]

已棄用 從 4.23 版開始。請改用useFeaturesInView
可選的

為其生成直方圖的特征子集。

useFeaturesInView

Boolean

可選的

僅適用於輸入layer是一個service-backed FeatureLayer。什麽時候true,將根據視圖中可見的函數在客戶端上計算統計信息。如果false,將從服務中請求統計信息。從 4.23 版開始。

signal

AbortSignal

可選的

允許可取消的請求。如果取消,promise 將被拒絕,並出現名為 AbortError 的錯誤。另見AbortController

返回:

類型 說明
Promise<HistogramResult> 解析為 HistogramResult 的實例。

例子:

histogram({
  layer: featureLayer,
  valueExpression: "( ($feature.POP2020 - $feature.POP2010) / $feature.POP2010 ) * 100"
  view: mapView,
  numBins: 30
}).then(function(histogramResult){
  colorSlider.histogram = histogramResult;
});
histogram({
  layer: featureLayer,
  field: "Population",
  normalizationType: "natural-log",
  sqlWhere: "Population > 0",
  numBins: 100
}).then(function(histogramResult){
  const histogramWidget = Histogram.fromHistogramResult(histogramResult);
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 histogram.histogram。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。