<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                > [Wiki](Home) ? [[API--中文手冊]] ? [[比例尺]] ? **數值比例尺** * 本文檔是D3官方文檔中文翻譯,并保持與[最新版](https://github.com/mbostock/d3/wiki/API-Reference)同步。 * 如發現翻譯不當或有其他問題可以通過以下方式聯系譯者: * 郵箱:zhang_tianxu@sina.com * QQ群:[D3數據可視化](http://jq.qq.com/?_wv=1027&k=ZGcqYF)205076374,[大數據可視化](http://jq.qq.com/?_wv=1027&k=S8wGMe)436442115 Linear Scales 線性比例尺是最常見的比例尺,為連續地把輸入域映射到連續的輸出范圍提供了良好的缺省選擇。該映射是線性的,輸出范圍值y可以表示為輸入域值x的線性函數為:y = mx + b。輸入域通常是要可視化的數據維度,如學生在樣本群的身高(米為單位)。輸出范圍通常是所需輸出的可視化維度,如直方圖的中條的高度(以像素為單位)。 # d3.scale.linear() 用默認域[0,1]構造一個新的比例尺,默認的范圍為[0,1]。因此,默認比例尺相當于數字恒等函數;例如linear(0.5)返回0.5。 # linear(x) 在輸入域中的輸入x,返回輸出范圍對應的值。 注意:某些插值器會重用返回值。例如,如果域值是任意的對象,然后d3.interpolateObject自動執行,比例尺重用返回的對象。通常情況下,一個比例尺的返回值被立即用于設置屬性或樣式,你不必擔心這一點;但是,如果你需要存儲比例尺的返回值,使用字符串強制轉換或酌情創建一個副本。 # linear.invert(y) 返回值的輸入域X在輸出范圍y中的相應值。這代表了逆映射的范圍域。在輸出范圍的有效值y ,線性( linear.invert ( Y) )等于y ;類似地,在輸入域中的有效數值x , linear.invert (線性(X))等于x時。等價地,你可以通過建立一個新的比例尺,交換定義域和值域進行反轉操作。翻轉操作在交互中特別有用的,例如,以確定在對應于該像素位置的鼠標下的輸入域的值。 注:如果輸出范圍是數字只能用倒置操作來支持! D3允許的輸出范圍是任何類型的;引擎蓋下, d3.interpolate或您選擇的自定義插值是用來歸一化參數t映射到輸出范圍內的值。因此,輸出范圍可以是顏色,字符串,或者甚至任意對象。由于沒有設施,以“ uninterpolate ”來標注任意類型,倒置操作目前僅在數值范圍的支持。 # linear.domain([numbers]) 如果數字被指定,設置比例尺的輸入域到數字的指定數組。數組必須包含兩個或兩個以上的數字。如果給定的數組中的元素不是數字,他們將被強制轉換為數字;這種強迫發生同樣,當規模被調用。因此,線性標尺可用于類型,如日期的對象可以被轉換成數字編碼;但是,它通常是用d3.time.scale的日期更方便。 (您可以使用的valueOf實現自己的轉換數量的對象。)如果未指定數字,則返回比例尺的輸入域。 雖然線性標度通常只有兩個數值在其域中,可以用polylinear比例尺指定兩個以上的值。在這種情況下,必須有值的輸出范圍內的當量數。一個polylinear刻度表示多個分段線性尺度上劃分一個連續的定義域和值域。這是用于定義發散的定量尺度是特別有用的。例如,把白色和紅色作為負值,白色和綠色作為正值: 所得到的值的顏色( - 0.5)是RGB(255,128,128)和色彩(0.5)的值是RGB(128,192,128)。在內部,polylinear比例尺通過二分查找對應于給定域值輸出插值。通過重復在這兩個領域和范圍值,你也可以強制輸入域的塊映射到一個固定的輸出范圍。 # linear.range([values]) 如果值被指定,設置刻度的輸出范圍值的指定數組。數組必須包含兩個或多個值,以匹配輸入域的基數,否則第二個的長被截斷以匹配另一個。給定的數組中的元素不必是數字;所支持的底層的內插器的任何值都可以。然而,數值范圍是必需的倒置運算符。如果未指定值,則返回當前比例次的輸出范圍。 # linear.rangeRound(values) 用指定數組設置比例尺的范圍值,而比例尺的插補器也設置為d3.interpolateRound。這是用于當輸出由刻度值應該是準確的整數,例如,以避免抗混疊偽像一個方便例程。另外,也可以在比例被施加之后使用round操作。 # linear.interpolate([factory]) 如果指定了工廠,設置使用指定的工廠規模的輸出插值。內插器工廠默認為d3.interpolate,并用于在[0,1]范圍內的歸一化域參數t在輸出范圍對應的值。內插器工廠將用于從輸出范圍構造內插器為每一對相鄰的值。如果未指定工廠,返回規模的插補工廠。 # linear.clamp([boolean]) 如果布爾變量被指定,用于啟用或禁用相應地夾集。默認情況下,夾集被禁用,例如,如果輸入域之外的值傳遞給規模,規模可能外面的輸出范圍,通過線性外推法返回一個值。例如,使用缺省域并[0,1]范圍內,與2的輸入值將返回2的輸出值,如果夾集被啟用,歸一化的域參數t被鉗位到范圍[0,1]這樣規模的返回值總是規模的輸出范圍之內。如果未指定布爾值,則返回的規模當前夾值輸出范圍之內。 # linear.nice([count]) 它開始和結束圓標記值的擴展域。這種方法通常會修改規模域,并且只能在邊界延伸到最近的整數值。根據下列公式計算圓值的精度依賴于域dx的程度:EXP(圓形(日志(DX))- 1)。如果該域是從數據計算并可以是不規則,則Nicing是有用的。例如,對于[0.20147987687960267,0.996679553296417]一個領域,漂亮的論域為[0.2,1]。如果域有兩個以上的值,nicing域只影響第一個和最后一個值。 可選的計數參數允許更大的控制權用于擴展邊界的步長,保證返回域可完全覆蓋域。 # linear.ticks([count]) 從比例尺上的輸入域的代表值返回約數。如果未指定count,則默認為10。返回的刻度值是均勻間隔的,具有人類可讀的值(如10的冪的倍數),并且保證是輸入域的范圍之內。刻度尺通常用于顯示參考線或刻度線,在與可視化數據一起使用。指定的計數是只是一個提示;規模可能取決于輸入域返回更多或更少的值。 # linear.tickFormat(count, [format]) 返回格式化的數字用于顯示刻度值的值。指定的計數應具有相同的值被用于產生刻度的計數。您不必使用刻度尺的內置刻度格式,但它會自動計算的基礎上刻度值之間的固定間隔適當的精度。 可選的格式參數允許指定的格式說明符,其中格式的精度自動被取代的規模是適當的刻度間隔。例如,要格式化百分比變化,你可能會說: 如果格式已經指定了精度,這種方法相當于d3.format。 # linear.copy() 返回該線性標尺的精確副本。改變這一比例尺不會影響返回的比例尺,反之亦然。 Identity Scales 恒等尺是線性尺的一個特例其定義域和值域相同;尺以及它的反轉方法都是恒等的。與像素坐標工作時,這些尺度偶爾有用,例如在與軸axis和刷brush組件一起使用。 # d3.scale.identity() 構造一個新恒等尺,默認定義域[0,1],默認值域是[0,1]。恒等尺總是等同于恒等函數。 # identity(x) # identity.invert(x) 返回給定值x。 # identity.domain([numbers]) # identity.range([numbers]) 如果指定了數字,設置尺度的輸入域和輸出范圍為指定的數字數組。這個數組必須包含兩個或兩個以上的數字。如果給定的數組中的元素不是數字,他們將被強制轉換為數字; 這種強制轉換在尺scale被調用時同樣發生。 如果未指定數字,則返回尺的當前輸入定義域(或等價地,輸出范圍)。 # identity.ticks([count]) 大致返回刻度的輸入域(或等價地,輸出范圍)count 代表性的值。如果未指定count,則默認為10。返回的刻度值是均勻間隔的,具有人類可讀的值(如10的冪的倍數),并且保證是輸入域的范圍之內。刻度線通常用于顯示在與可視化數據一起使用的參考線或刻度線。指定的計數是只是一個提示;刻度取決于輸入域可能返回更多或更少的值。 # identity.tickFormat(count, [format]) 返回適合用于顯示刻度值的數字格式number format函數。指定的計數count 應和用于產生刻度值的計數的值相等。您不必使用尺度的內置刻度格式,但它會基于刻度值之間的固定間隔自動計算適當的精度。 可選參數format 允許指定格式說明符。如果格式說明符沒有一個定義的精度,精度將由尺自動設置,并返回相應的格式。這提供了方便,可用聲明的方式指定一個格式其精度將由尺度自動設置。 # identity.copy() 返回此尺度的精確副本。改變這一尺度不會影響返回的尺度,反之亦然。 Power Scales 除了有一個在輸出范圍值被計算之前應用于輸入值域的指數變換之外,乘方比例尺類似于線性比例尺。映射到輸出范圍值y可以被表示為一個輸入值域x的函數:y = mx ^ k + b,其中k是指數的值。乘方比例尺也支持負值,在這種情況下,輸入值權力天平也支持負值,在這種情況下,輸入值以指數-1進行乘方計算,由此產生的輸出值也將以-1來乘方計算。 # d3.scale.sqrt() 構造一個新的乘方比例尺,輸入值域默認為[0,1],輸出范圍默認為[0,1],指數默認為0.5。這種方法可以簡記為: d3.scale.pow().exponent(.5) 返回的比例尺是一個函數,它接受一個代表輸入值域中某一個值的參數x,返回值是對應于輸出范圍的一個值。因此,這個比例尺對于數字來說,相當于函數sqrt的功能;例如:sqrt(0.25)的結果將返回0.5。 # d3.scale.pow() 構造一個新的乘方比例尺,默認輸入值域為[0,1],默認輸出范圍[0,1],默認指數為1。因此,對于數字來說,默認的乘方比例尺相當于數字正比例函數(the identity function);例如pow(0.5)的結果將返回0.5。 # pow(x) 給定一個輸入域值x,返回輸出范圍中相應的值。 注意:一些interpolators的重用將返回值。例如,如果值域是任意對象,然后d3.interpolateObject自動被應用并且比例尺重用這個返回的對象。通常,一個比例尺的返回值會立刻被應用于設置一個屬性(attribute)或樣式(style),你不必擔心;不過,如果你需要存儲比例尺的返回值,可以適當地使用字符串強轉換或復制值。 # pow.invert(y) 返回對應于輸出域值y值的輸入值域值x。這意味著從輸出范圍到輸入值域映射關系的逆向操作。對于一個有效的輸出范圍值y,pow(pow.invert(y))的結果等于y,對于一個有效的輸入域值x,pow.invert(pow(x))的結果等于x。同樣,你可以通過交換輸出與輸入值域的新比例尺的建立去創建其逆操作。對于確定輸入值域的值(此值對應于鼠標下的像素位置)而言,這個逆操作對于交互尤為重要。 注意:逆操作僅僅支持輸出范圍是數字的情況!D3是允許輸出范圍屬于任意類型;在其內部結構中,d3.interpolate或者一個自定義的插值器是用來映射這個標準化參數t到一個輸出范圍的值。因此,輸出范圍可能是顏色值、字符串、甚至任意的對象。 轉化運算符僅支持如果輸出范圍是數字!D3允許任何類型的輸出范圍;在引擎蓋下,d3.interpolate或您選擇的自定義插入器是用來映射值的歸一化參數t的輸出范圍。因此,輸出范圍可能是顏色,字符串,甚至任意對象。所以對于“非差值”的任意類型是沒有任何措施的,逆操作目前僅僅支持數字范圍。 # pow.domain([numbers]) 如果參數numbers被指定,便將指定包含numbers的數組設置為比例尺的輸入值域。這個數組必須包含2個或更多的數據值。如果給定的數組中的元素不是數字,它們便被強轉為數字;當比例尺被調用時強轉同樣會發生。因此,一個乘方比例尺被用來編碼可以被轉換為數字的任意類型。如果numbers沒有被指定,將返回比例尺當前的輸入值域。 與線性比例尺(詳見linear.domain)一樣,對于輸入和輸出值域乘方比例尺也可以接受超過兩個以上的值,因而產生結果的polypower比例尺。# pow.range([values]) 如果values被指定,便將指定包含values的數組設置為比例尺的輸出范圍。這個數組必須包含兩個或兩個以上的值,來對應匹配輸入域的基數,否則多于兩個以上的將被截斷從而去對應其它值。給定數組中的元素不要求必須為數字;支持基本插值器的任何值都可以使用。然而,數字范圍需要轉化操作符去轉化。如果values沒有被指定,將返回當前的輸出范圍。 # pow.rangeRound(values) 將指定的values組成的數組設置為輸出范圍,同時設置比例尺的插值器到d3.interpolateRound。當比例尺輸出的值需要為整數時,這便是一個非常方便使用套路,以此避免不確定性的小數產生。也可以在比例尺應用后通過手動將輸出值處理為整數。 # pow.exponent([k]) 如果k值被指定值,當前指數將被設置為k值。如果k值沒有被指定,則返回當前指數。默認值是1。 # pow.interpolate([factory]) 如果工廠(interpolator)被指定,便將此指定的工廠設置為比例尺的輸出插值器。插值器工廠默認用d3.interpolate,并且它被用來將標準的[0,1]的值域參數t映射到相關的輸出值域中對應的值。這個插值器工廠將針對輸出值域中每兩個相鄰的值來用于構建插值器。如果沒有指定工廠,將返回比例尺的插入器工廠。 # pow.clamp([boolean]) 如果布爾值(boolean)被指定,啟用或禁用相應的閉合。默認情況下,是啟用閉合,這樣的情況下,如果一個超出輸入值域的值在傳遞給比例尺時,比例尺將通過線性外推法返回一個輸出范圍外的一個值。例如,使用輸入和輸出值域采用默認值域[0,1],那么對于輸入值為2的就會返回一個輸出值2。如果啟用了閉合,標準的值域參數t將被閉合在值域區間[0,1]中,這樣的情況下,比例尺的返回值總是在比例尺的輸出范圍內。如果布爾值不被指定,返回值都將在輸出范圍內(returns whether or not the scale currently clamps values to within the output range)。 # pow.nice([m]) 擴展值域,即它的開始和結束值都處理為容易識別的整數值(Extends the domain so that it starts and ends on nice round values)。這種方法通常來修改比例尺的值域,可能只是將臨界的值處理為最近的整數值(This method typically modifies the scale's domain, and may only extend the bounds to the nearest round value)。這個整數值的精度依賴于值域dx的范圍,根據下列的公式:exp(round(log(dx)) - 1)。如果值域是通過不規則的值計算而來的,那么這樣處理(使用本函數)是很有用的。例如,對于一個值域為[0.20147987687960267,0.996679553296417],那么好的值域(可以通過本函數處理)便是(0.2,1)。如果值域擁有超過兩個的值,那么這樣處理后只能影響到第一個和最后一個值。 可選參數m允許指定一個滴答計數用來被指定用來在擴展邊界值之前去控制步長使用。 # pow.ticks([count]) 近似地返回幾個(count:個數)來自于比例尺輸入值域的代表數。如果count沒有被指定,默認為10。返回的值都有均勻一致的間隔,擁有人類可讀的值(如乘方指數為10的倍數(such as multiples of powers of 10)),并保證是在輸入值域的范圍內。刻度值(Ticks)通常用于結合可視化數據去顯示參考線,或刻度線。指定的數量只是一個暗示;比例尺可能會返回值或多或少,這取決于輸入值域。 # pow.tickFormat([count, [format]]) 返回一個數字格式化(number format)函數,適用于顯示一個點值。被指定的count數量值與被用來生刻度值的數量相同。你不必使用比例尺的內置的刻度值格式化,但它能夠基于固定時間間隔值去自動計算出適當的精度。 可選參數format允許為被指定的格式說明符(format specifier)。如果格式說明符沒有明確定義的精度,那么精度將通過比例尺被自動設置,返回適當的格式。這提供了一個便捷的、聲明的方式去指定一個格式,此格式的精度將通過比例尺被自動設定。 # pow.copy() 返回一個比例尺的精確復制體。這個比例尺的變化不會影響到返回的復制體比例尺,反之亦然。 Log Scales 對數比例尺類似于線性比例尺,除了有一個對數變換被應用于在輸出范圍值計算的輸入值域的值。映射到輸出范圍的y值可以表示為一個輸入值域x的函數: y = m log(x) + b。 log(0)是負無窮大,一個對數比例尺必須有一個專門的正域或負域;這個范圍不能包含或過零。一個正域對數比例尺有一個定義明確的正值的行為狀態,一個負域對數比例尺有一個定義明確的負值的行為狀態(輸入值乘以-1,所得到的輸出值也乘以-1)。如果你傳遞一個負值給對數比例尺是正域,反之比例尺的行為是未定義的。 # d3.scale.log() 構建一個默認域[1,10]新的對數比例尺,默認范圍[0,1],底數是10。 # log(x) 給一個在輸入值域中的x值,返回一個輸出范圍的相應值。 注:一些內插重用的返回值。例如,如果域的值是任意對象,那么d3.interpolateobject是自動應用和按比例返回的對象。通常情況下,一個比例尺的返回值被立即用于設置屬性或樣式,你不必擔心這一點;但是,如果你需要存儲比列尺的返回值,使用字符串控制或創建一個合適的副本。 # log.invert(y) 返回值的輸入值域X在輸出范圍y中的相應值。這代表了逆映射的范圍域。在輸出范圍有效的y值,log(log.invert(y))等于y;同樣,在輸入值域中的有效值x,log.invert(log(x)) 等于x。相同地,你可以通過建立一個新的比例尺,對變換輸入值域和輸出范圍進行反轉操作。反轉操作是交互特別有用的,例如,以確定在對應于該像素位置的鼠標下的輸入值域的值。 注:反轉操作僅支持輸出范圍是數字! D3允許的輸出范圍是任何類型;在后臺,d3.interpolate或您選擇的自定義插值是用來歸一化參數t映射到輸出范圍內的值。因此,輸出范圍可以是顏色,字符串,或者甚至任意對象。由于沒有便利以“篡改”任意類型,反轉操作目前僅在數值范圍的支持。 # log.domain([numbers]) 如果指定的數字,設置比例尺的輸入值域給數字的指定數組。數組必須包含兩個或兩個以上的數字。如果給定數組中的元素不是數字,他們將被強制轉換為數字;這種強制同樣發生在當比例尺被調用。因此,一個對數比例尺可用于能被轉換成數字的任何類型。如果數字未指定,則返回比例的當前輸入值域。 如線性比例尺(見linear.domain),對數比例尺也可以接受兩個以上值的值域和范圍,從而得到聚對數函數。 # log.range([values]) 如果值是指定的,要通過指定數組的值設置比例尺的輸出范圍。數組必須包含兩個或多個值,以匹配輸入值域的底數,否則兩個中長的會被截斷以匹配另一個。給定的數組中的元素不必是數字;所支持的底層的內插器的任何值都可以。然而,數值范圍是必需的倒置運算符。如果未指定值,則返回比例尺的當前輸出范圍。 # log.rangeRound(values) 設置比例尺的輸出范圍要通過指定數組的值,而比例尺的內插器也設置為d3.interpolateRound。這是用于輸出的比例尺的值應該是準確的整數,以避免抗混疊偽像的一個方便例程。另外,當輸出值的比例尺被應用之后也可以手動設置四舍五入求值。 # log.base([base]) 如果指定了底數,設置這個對數比例尺的底數。如果未指定底數,返回當前的底數,默認為10。 # log.interpolate([factory]) 如果工廠模式是指定的,設置比例尺的輸出內插器使用指定的工廠模式,內插器的工廠模式默認為d3.interpolate,并用于在[0,1]的歸一化域參數t映射到輸出范圍對應的值。內插器工廠模式將用于從輸出范圍創建內插器為每一對相鄰的值,如果沒有指定的工廠模式時,返回比例尺的內插器的工廠模式。 # log.clamp([boolean]) 如果布爾值是指定的,啟用或禁用相應的鎖定。默認情況下,鎖定被禁用,例如,如果輸入值域之外的值傳遞給比例尺,比例尺可能返回外面的輸出范圍,通過線性外推法返回一個值。例如,使用默認值域并在[0,1]范圍內,一個2的輸入值將返回2的輸出值,如果鎖定被啟用,歸一化的域參數t被鎖定到范圍[0,1],這樣比例尺的返回值始終在比例尺的輸出范圍之內。如果未指定布爾值,則返回比例尺當前鎖定值是否在輸出范圍內。 # log.nice() 擴展值域以便它開始和結束美化四舍五入的值。這種方法通常會修改比例尺的值域,并可能只有邊界延伸至最近的四舍五入的值。最近的整數值是基于比例尺的底數的整數冪,默認為10。美化是有用的,如果該值域是從數據計算的并可以是不規則的。例如,對于值域[0.20147987687960267,0.996679553296417],美化的值域為[0.1,1]。如果值域有兩個以上的值,美化值域只影響第一個和最后一個值。 # log.ticks() 從比例尺上的輸入值域將返回代表值。返回的刻度值是均勻間隔在10的每個冪的范圍內,并保證是輸入值域的范圍之內。刻度通常用于顯示參考線或刻度線,與可視化數據一起使用。請注意,刻度的數量不能自定義(由于對數比例尺的性質);但是,如果你想減少刻度的數量,你可以篩選返回的數組中的值。 # log.tickFormat([count, [format]]) 返回一個數字格式的函數適合用于顯示一個刻度值。這個返回刻度格式是為實現d.toPrecision(1)。如果一個計數被指定,那么一些刻度標記可能無法顯示; 如果沒有足夠的空間來容納所有的刻度標記,這是非常有用的。但是,請注意刻度線仍然會顯示出來(這樣對數比例尺失真仍然可見)。當指定一個計數,你也可能會覆蓋這個格式函數; 您也可以指定一個格式說明符的字符串,它會自動被包裹在d3.format。例如,要獲得一個刻度格式,將顯示20個刻度的貨幣: scale.tickFormat(20, "$,.2f"); 如果格式說明符沒有一個定義的精度,精度將通過比例尺自動設置,返回適當的格式。這提供了一個便利,既指定其精度格式的聲明方式將由比例尺自動設定。 # log.copy() 返回此比例尺的精確副本。改變這一比例尺不會影響返回的比例尺,反之亦然。 Quantize Scales # d3.scale.quantize() 使用默認的定義域[0,1],定義一個量化變換,默認的范圍是[0,1];因此,默認的量化變換等同于數值的四舍五入round 方法;例如:quantize(0.49)返回0,quantize(0.51)返回1,詳見下例: var q = d3.scale.quantize().domain([0, 1]).range(['a', 'b', 'c']); //q(0.3) === 'a', q(0.4) === 'b', q(0.6) === 'b', q(0.7) ==='c'; //q.invertExtent('a') returns [0, 0.3333333333333333] # quantize(x) 指定一個值x作為輸入域值,返回對應該域值的范圍值; 理解:quantize(0.4)則會使用默認的值域0和1,即:該quantize(0.4)返回值為0,因為四舍五入0.4為0,以此類推; # quantize.invertExtent(y) 根據輸出的范圍值y返回對應于定義域中的取值范圍,即為數組[x0, x1],該功能即:反向找到值y對應的定義域;這是非常有用的,例如:為了確定對應于該像素的鼠標的可取輸入域; # quantize.domain([numbers]) 如果numbers指定,則設置變換的定義域/輸入域為numbers,該numbers是兩個元素的數組,即代表定義域的開始和結束;如果該數組的元素多余2個數值,則只會去第一個元素為開始,最后一個元素為結束;如果該數組中元素不是數值,則會強制轉換為數值;強制轉換會在調用該scale 轉換時發生;因此,定量變換可被用于任何可強轉成數值的編碼/參數類型;如果numbers未指定,則返回當前的定義域/輸入域; # quantize.range([values]) 如果values 指定,則設置變換的值域/輸出域為values ,該values 可以是任何類型的數組元素,并且元素的數量不限;如果values 未指定,則返回當前的值域/輸出域; # quantize.copy() 返回當前變換的一個副本,無論是改變原本或副本,都不會影響彼此; Quantile Scales 分位數比例尺映射輸入域到離散的的范圍。即使輸入域是連續的比例尺接受任意合理的輸入值,輸入域指定為一組離散的值。輸出范圍的值的數量(基數)決定輸入域中將被計算的分位數數量。為了計算分位數,輸入域是排好序的,并且被當成離散值的群體。輸入域通常是你想要可視化的數據維度,例如股票市場每天的變化。輸出范圍通常是需要輸出的可視化,例如一個發散的顏色尺。 # d3.scale.quantile() 構造一個新的分位數比例尺,使用空的輸入域和輸出范圍。分位數比例尺在輸入域和輸出范圍沒有同時指定時無效。 # quantile(x) 給定輸入域中的值x,返回輸出范圍中對應的值。 # quantile.invertExtent(y) 為對應輸出范圍中的值y,返回輸入域[x0, x1]的范圍,代表從范圍到域逆向映射。這個方法在交互時是很有用的。用來決定輸入域中的值對應鼠標下的像素位置。 # quantile.domain([numbers]) 如果指定了參數numbers,設置分位數比例尺的輸入域為指定的離散數值集。數組必須是非空的,并且必須包含至少一個數值;NaN,null和未定義值是被忽略的,不被視為樣本群體的一部分。如果給定數組中的元素不是數字,將被強制轉換為數字;當比例尺被調用的時候強制轉換。這樣,分位數比例尺可以用來強制轉換所有可以轉換為數字的類型。如果numbers參數沒有指定,就返回比例尺當前的輸入。 # quantile.range([values]) 如果指定了values參數,就設置輸出范圍中的離散值。數組必須是非空的,可能包含任意類型的值。Values數組中值得數量(基數或長度)決定了將被計算的分位數的數量。例如,為了計算分位數,values必須是一個像[0, 1, 2, 3] 的四元素的數組。如果沒有指定values參數,返回當前的輸出范圍。 # quantile.quantiles() 返回分位數閾值。如果輸出范圍包含n個離散值,返回的閾值數組就包含n-1個值。值小于閾值數組的第一個元素,quantiles()[0]視為在第一個分位;更大的值第二個閾值在第二個分位,等等。在內部,閾值數組用于d3.bisect 查找給定輸入值對應的輸出分位。 # quantile.copy() 返回這個比例尺的一個精確的副本。比例尺的改變不影響返回的比例尺,反之亦然。 Threshold Scales 臨界值比例尺很像定量 quantize比例尺,只是他允許你將輸入域的任意的子集合映射到離散的輸出值上。輸入值是連續的,并且基于一組臨界值被劃到不同的區域。輸入值域通常是你想要用來可視化的數據的尺度,例如是一群學生的身高。輸出值域通常是所需的輸出可視化數據的尺度,。例如是一組顏色(用字符串表示)。 # d3.scale.threshold() 構造一組新的臨界值比例尺,默認的輸入范圍是[.5],默認的輸出范圍是[0,1],因此,對數字來說,默認quantize比例尺將和round函數相同,例如,輸入0.49將輸出0,輸入0.51將輸出1. var t = d3.scale.threshold().domain([0, 1]).range(['a', 'b', 'c']); t(-1) === 'a'; t(0) === 'b'; t(0.5) === 'b'; t(1) === 'c'; t(1000) === 'c'; t.invertExtent('a'); //returns [undefined, 0] t.invertExtent('b'); //returns [0, 1] t.invertExtent('c'); //returns [1, undefined] # threshold(x) x代表輸入域值,函數將返回對應的輸出范圍的值。 # threshold.invertExtent(y) 返回輸出范圍y中值對應的輸入域值的范圍,代表輸出值到輸入值的一個反向映射,這個方法對于交互非常有用,例如可以用來定位鼠標的像素點所在的區域。 # threshold.domain([domain]) 如果指定了domain參數,那么將這個數組形式的參數作為輸入域,參數數組的值必須是升序排列的,否則比例尺將是不確定的,這個參數數組的值通常是數字,但是任何自然排序的值(例如字符串)都可以,因此一個臨界值比例尺適用于任何可以排序的類型。如果輸出范圍是N+1那么輸入值范圍一定是N,如果小于N的元素在輸入值里,那么這個額外的元素將被忽略,如果大于N的元素在輸入值里,那么對于一些輸入值比例尺將返回未定義,如果輸入域未定義,將返回這個比例尺當前的輸入值 # threshold.range([values]) 如果存在參數values ,那么將這個數組形式的參數作為輸出域。如果輸入域是N,那么輸出范圍必須是N+1,如果小于N+1的元素在輸出值中,那么對于任何輸入比例尺將返回undefined,如果大于N+1的元素在輸出值中,那么這個額外的值將被忽略,數組中的元素并不一定是數字,任何形式都可以,如果輸出域未定義,那么將返回比例尺當前的輸出值。 # threshold.copy() 復制這個比例尺的精確副本。改變這個的比列尺不會影響返回值,反之亦然。 Log補充知識 PolyLog函數 PolyLog —普通和尼爾森(Nielsen)廣義的對數函數 …… Li_-1(x)=∫(Li_-2(x))/x dx=∫(1-x)^(-2)+(2x)/(1-x)^3 dx=x/(1-x)^2 Li_0(x)=∫(Li_-1(x))/x dx=∫x/(1-x)^2 dx =x/(1-x) Li_1(x)=∫(Li_0(x))/x dx=∫1/(1-x) dx=-ln(1-x) Li_2(x)=∫(Li_1(x))/x dx=∫-(ln(1-x))/x dx Li_3(x)=∫(Li_2(x))/x dx ……(_表示下標) 對于Li_n(x) (n∈Z)有關系式: Li_(n+1)(x)=∫(Li_n(x))/x dx 推廣到n∈R,甚至n∈C,該關系式都成立, 另外,當|x|<1 時,有關系式:(n∈C) Li_n(x) x∈C時,Li_n(x)表達式為: Li_n(x) x∈C 其中Γ(x)=(x-1)!是Gamma函數,ζ(x)是Riemann 函數(zeta函數) PolyLog 函數通常用于對數積分,是數學中的特殊函數。 Linear 譚樹國 20140412譯 identity咕嚕 20140412 00:07:00譯 log 馬語者20140412譯 Quantize 魏飛20140412譯 Threshold 20140420現明漣漪譯 power Harry 20140412譯 Quantile Scales Gulu 翻譯 2014-11-24 23:56:33
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看