比例尺:就像函式一樣,將乙個量轉換為另乙個量,定義域到值域的轉換。
每個比例尺都需要指定乙個domain(定義域)和range(值域)。
定量比例尺:定義域是連續的。值域有連續的也有離散的。
var linear =d3.scale.linear().domain([0,20])
.range([0,100]);
console.log( linear(10) ); //
輸出50
console.log( linear(30) ); //
輸出150
console.log( linear.invert(80) ); //
輸出16
linear.clamp(
true
);console.log( linear(30) ); //
輸出100
linear.rangeround([0,100]);
console.log( linear(13.33) ); //
輸出67,對結果進行了四捨五入
//使用nice之後,定義域變成了比較工整的形式,但是並不是四捨五入
linear.domain([0.12300000,0.4888888888]).nice();
console.log( linear.domain() );
//輸出[0.1,0.5]
linear.domain([33.611111,45.97745]).nice();
console.log( linear.domain() );
//輸出[33,46]
var linear =d3.scale.linear()
.domain([-20,20])
.range([0,100]);
var ticks = linear.ticks(5);
console.log(ticks);
//輸出陣列[-20,-10,0,10,20]
var tickformat = linear.tickformat(5,"+");//
設定的格式為"+":表示如果是正數,則在前面新增乙個加號,負數則新增乙個減號。
for(var i=0;i)
console.log(ticks);
//輸出["-20","-10","+0","+10","+20"]
指數比例尺和對數比例尺的方法和線性比例尺一樣,但指數比例尺多乙個exponent(),對數比例尺多乙個base(),兩者都是用於指定底數。
var pow = d3.scale.pow().exponent(3); //設定指數比例尺的指數為3
console.log( pow(2) ); //
輸出為8
console.log( pow(3) ); //
輸出為27
pow.exponent(0.5);
console.log( pow(2) ); //
輸出為1.414
console.log( pow(3) ); //
輸出為1.732
//指定domain和range
//指數比例尺
var pow =d3.scale.pow()
.exponent(3)
.domain([0,3]) //
指數比例尺內部呼叫了線性比例尺,而且把這個線性比例尺
.range([0,90]); //
定義域的邊界變為了其指定的次方。即定義域為[0,27]
//線性比例尺
var linear =d3.scale.linear()
.domain([0,math.pow(3,3)])
.range([0,90]);
console.log( pow(1.5) ); //
輸出為11.25
console.log( linear(math.pow(1.5,3)) ); //
輸出為11.25
閾值比例尺:通過設定閾值,將連續的定義域對映到離散的值域裡,
//該閾值比例尺定義了三個閾值:10、20、30,則空間被劃分為四段:負無窮到10,10到20,20到30,30到正無窮
var threshold =d3.scale.threshold()
.domain([10,20,30])
.range(["red","green","blue","black"]);
console.log( threshold(5) ); //
輸出red
console.log( threshold(15) ); //
輸出green
console.log( threshold(25) ); //
輸出blue
console.log( threshold(35) ); //
輸出black
console.log( threshold.invertextent("red") ); //
輸出[undefined,10]
console.log( threshold.invertextent("green") ); //
輸出[10,20]
console.log( threshold.invertextent("blue") ); //
輸出[20,30]
console.log( threshold.invertextent("black") ); //
輸出[30,undefined]
比例尺 解析度
1 region 計算比例尺的原理2 此段 僅限投影座標系 3float dx,dy 4 graphics g this creategraphics 5try 獲取當前螢幕的水平dpi和垂直dpi dpi即每英吋上的畫素點數 6 7finally89 const double dmeterperi...
比例尺不變 放大單個Polygon
這是乙個同事給提的需求,在此我把問題,以及研究的結果都整理出來。希望對大家有所幫助。需求 如圖 1,希望在當前比例尺下,滑鼠選中仙女湖的 polygon 時能夠對它重新渲染並放大 n倍,幾何重心不變。實現方法 1 獲取該polygon 的幾何重心。以arcengine 為例,採用 iarea.cen...
比例尺與解析度
1inch 25.4 mm 2.54cm 0.254dm 0.0254m 1m 1 0.0254 inch 39.37inch 比例尺,即地圖上的距離與地面實際距離的比例。比如1 5000 表示的是1cm對應現實的5000cm即50公尺。比例尺通常有三種表達方式 比例尺是表示圖上距離與實地距離縮小或...