坐標(biāo)軸

  • d3.svg.axis() 創(chuàng)建默認(rèn)的新坐標(biāo)系
  • axis(selection)將此坐標(biāo)軸應(yīng)用到指定的選擇集上,改選擇集需要包裹有<svg>或<g>
  • axis.scale([scale]) 設(shè)定或獲取坐標(biāo)軸的比例尺
  • axis.orient([orientation])設(shè)定或獲取坐標(biāo)軸的方向。
  • axis.ticks([argument...]) 設(shè)定或獲取坐標(biāo)軸的分隔數(shù)。默認(rèn)是10
  • axis.tickValues([values])設(shè)定或獲取坐標(biāo)軸的指定刻度
  • axis.tickSize([inner,outer])設(shè)定或獲取坐標(biāo)軸內(nèi)外刻度的長(zhǎng)度。默認(rèn)是6
  • axis.innerTickSize([size])設(shè)定或獲取坐標(biāo)軸的內(nèi)刻度。
  • axis.outerTickSize([size])設(shè)定或獲取坐標(biāo)軸的外刻度
  • axis.tickFormat([format])設(shè)定或獲取刻度的格式
var width = 600;
var height = 600;

var svg = d3.select("body").append("svg")
                .attr("width",width)
                .attr("height",height);

var scale = d3.scale.linear()
                .domain([0,10])
                .range([0,150]);
    
var axisLeft = d3.svg.axis()
                .scale(scale)
                .orient("left")
                .ticks(5);
                
var axisRight = d3.svg.axis()
                .scale(scale)
                .orient("right")
                .tickValues([3,4,5,6,7]);
                
var gAxisLeft = svg.append("g")
            .attr("transform","translate(80,80)")
            .attr("class","axis")
            .call(axisLeft);
            
var gAxisRight = svg.append("g")
            .attr("transform","translate(100,80)")
            .attr("class","axis")
            .call(axisRight);

            
var axisTop = d3.svg.axis()
                .scale(scale)
                .orient("top")
                .ticks(5)
                .tickSize(2,4);
                
var gAxisTop = svg.append("g")
            .attr("transform","translate(80,30)")
            .attr("class","axis")
            .call(axisTop);

scale.range([0,300]);
            
var axisBottom = d3.svg.axis()
                .scale(scale)
                .orient("bottom")
                .ticks(5)
                .tickFormat(d3.format("$0.1f"));
                
var gAxisBottom = svg.append("g")
            .attr("transform","translate(80,300)")
            .attr("class","axis")
            .call(axisBottom);
結(jié)果

各比例尺的坐標(biāo)軸

坐標(biāo)軸必須設(shè)置一個(gè)比例尺,根據(jù)比例尺的不同可以得到不同的坐標(biāo)軸。
比例尺中,定義域是坐標(biāo)軸刻度值得范圍,值域是坐標(biāo)軸實(shí)際的像素長(zhǎng)度。

var width = 600;
var height = 600;

var svg = d3.select("body").append("svg")
                .attr("width",width)
                .attr("height",height);

var linear = d3.scale.linear().domain([0,1]).range([0,500]);

var pow = d3.scale.pow().exponent(2).domain([0,1]).range([0,500]);

var log = d3.scale.log().domain([0.01, 1]).range([0, 500]);

var axisLinear = d3.svg.axis().scale(linear).orient("bottom");

var axisPow = d3.svg.axis().scale(pow).orient("bottom");

var axisLog = d3.svg.axis().scale(log).orient("bottom");

svg.append("g").attr("transform","translate(30,30)").attr("class","axis").call(axisLinear);

svg.append("g").attr("transform","translate(30,60)").attr("class","axis").call(axisPow);

svg.append("g").attr("transform","translate(30,90)").attr("class","axis").call(axisLog);
不同比例尺的坐標(biāo)軸
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • BTW,開(kāi)始嘗試用Markdown。 下面的例子實(shí)現(xiàn)之前,需要在R中首先輸入一些數(shù)據(jù)。本例采用最簡(jiǎn)單的散點(diǎn)數(shù)據(jù),輸...
    匿稱也不行閱讀 19,197評(píng)論 1 4
  • 這里講一下怎么樣用d3.js,輸入一個(gè)數(shù)據(jù)list,根據(jù)數(shù)據(jù)畫(huà)一個(gè)帶有坐標(biāo)軸的簡(jiǎn)單直方圖.以下是目標(biāo)效果. 直方圖...
    Kaidi_G閱讀 4,972評(píng)論 1 3
  • 坐標(biāo)軸 下邊的選項(xiàng)涉及xAxis或者yAxis,但有的層層嵌套 坐標(biāo)軸組成 axis Title axis Lab...
    我_巨可愛(ài)閱讀 763評(píng)論 0 0
  • 本文介紹如何移動(dòng)matplotlib 中 axis 坐標(biāo)軸的位置,使用.spines設(shè)置邊框:x軸,y軸;使用.s...
    Ledestin閱讀 718評(píng)論 0 0
  • 第一招:搭訕——快速跟人建立親密關(guān)系 搭訕時(shí)隨意地觸碰一下對(duì)方,造成身體接觸,或者多有一些眼神交流,就很有效。談判...
    Da_Pang_Xiong閱讀 997評(píng)論 0 1

友情鏈接更多精彩內(nèi)容