成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何用D3繪制各種樣式的x坐標軸

gggggggbong / 1514人閱讀

摘要:折線圖,散點圖經(jīng)常采用這種樣式的坐標軸。軸使用和來控制刻度顯示在坐標軸的上方或者下方。北京上海廣州深圳軸表現(xiàn)形式基本上,柱狀圖都會采用這種坐標軸。而繪制折線圖,散點圖等等又需要采用這種表現(xiàn)形式,所以這種方法是比較常用的。

該文只使用d3.jsV4版本進行繪制,不關(guān)注V3版本,我們要與時俱進。

在繪制圖表的過程中,直坐標系是繞不開的一個問題,直方圖,折線圖,散點圖等等都需要使用到直坐標系。而其中最關(guān)鍵的是x軸的繪制,因為y軸基本上都是數(shù)值顯示。如何用代碼實現(xiàn),x軸的表現(xiàn)形式是什么,這是本文主要討論的問題。

1 連續(xù)性x坐標軸 1.1 從零開始的連續(xù)性x坐標軸

什么是從零開始,就是從繪制的坐標軸的最左端開始顯示第一個刻度。折線圖散點圖經(jīng)常采用這種樣式的x坐標軸。

let height = 400
let width = 600
let x = d3.scaleLinear().range([0, width])
let xScale = x.domain([0, 10])

// x軸
let xAxis = svg.append("g")
               .attr("class", "xAxis")
               .attr("transform", `translate(0, ${height})`)
               .call(d3.axisBottom(xScale))

使用d3.axisTopd3.axisBottom()來控制刻度顯示在坐標軸的上方或者下方。

表現(xiàn)形式:

1.2 不從零開始的連續(xù)性x坐標軸

情況比較少,基本不用,所以不作闡述。

1.3 時間型x坐標軸

時間軸也是線性的,所以將它歸為此類。

let height = 400
let width = 600
let x = d3.scaleTime().range([0, width])
let xScale = x.domain([new Date(2017, 1), new Date(2017, 6)])

// x軸
let xAxis = svg.append("g")
               .attr("class", "xAxis")
               .attr("transform", `translate(0, ${height})`)
               .call(d3.axisBottom(xScale))

表現(xiàn)形式:

2 非連續(xù)性x坐標軸 2.1 不從零開始的非連續(xù)性x坐標軸

先從不從零開始說起,因為這個用法比較正常。關(guān)鍵是使用d3.scaleBand()。

let height = 400
let width = 600
let x = d3.scaleBand().range([0, width])
let xScale = x.domain(["北京", "上海", "廣州", "深圳"])

// x軸
let xAxis = svg.append("g")
               .attr("class", "xAxis")
               .attr("transform", `translate(0, ${height})`)
               .call(d3.axisBottom(xScale))

表現(xiàn)形式:

基本上,柱狀圖都會采用這種x坐標軸。

2.2 從零開始的非連續(xù)性x坐標軸

使用d3.scaleOrdinal()

let height = 400
let width = 600
let x = d3.scaleOrdinal().range([150, 300, 450, 600])
let xScale = x.domain(["北京", "上海", "廣州", "深圳"])

// x軸
let xAxis = svg.append("g")
               .attr("class", "xAxisis")
               .attr("transform", `translate(0, ${height})`)
               .call(d3.axisBottom(xScale))

表現(xiàn)形式:

在正常情況中,x軸的數(shù)據(jù)經(jīng)常是非線性的。而繪制折線圖,散點圖等等又需要采用這種表現(xiàn)形式,所以這種方法是比較常用的。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85026.html

相關(guān)文章

  • d3入門篇(四):繪制完整柱狀圖添加過渡效果

    摘要:這篇學(xué)習(xí)筆記是入門篇的最后一部分,將前幾篇的內(nèi)容整合到一起,繪制帶過渡效果的柱狀圖,這次先給大家看一下結(jié)果圖。 這篇學(xué)習(xí)筆記是入門篇的最后一部分,將前幾篇的內(nèi)容整合到一起,繪制帶過渡效果的柱狀圖,這次先給大家看一下結(jié)果圖。 結(jié)果 showImg(https://segmentfault.com/img/bVblfGG?w=1230&h=1210); 前言 先放結(jié)果圖是想反饋一下在整合基...

    Jason 評論0 收藏0
  • 交互式數(shù)據(jù)可視化-D3.js(一)

    摘要:如其中,和表示繪制區(qū)域的寬高,表示版本號。下面分別是繪制一個多邊形和折線路徑標簽功能最豐富,以上圖形都可以使用路徑制作出來,用法與折線類似給出一個坐標點在坐標前添加一個英文字母,表示如何運動到此坐標點點。英文字符按照功能分為五類。 在D3中會穿插SVG 方便大家對D3對使用 SVG簡介 可縮放矢量圖(scalabel vector graphics),是用于描述二維矢量圖形的一種圖形格...

    MASAILA 評論0 收藏0
  • d3入門篇(三):比例尺標軸

    摘要:為了根據(jù)顯示刻度靈活變化寬高,而不是定死,特別是數(shù)據(jù)差異性很大的時候,我們希望圖表顯示范圍都在畫布里面,這時就會引入比例尺的概念來進行縮放。根據(jù)這些規(guī)則,會為我們返回一個比例尺函數(shù)。 這篇文章繼續(xù)介紹d3的基礎(chǔ)知識 比例尺 在繪制柱狀圖時,我們往往會定義很大的畫布,然而我們要可視化的數(shù)據(jù)確很小,這時會出現(xiàn)很多留白 的情況。為了根據(jù)顯示刻度靈活變化寬高,而不是定死,特別是數(shù)據(jù)差異性很大的...

    tomato 評論0 收藏0
  • 前端每日實戰(zhàn):109# 視頻演示何用 CSS 和 D3 創(chuàng)作一個用文字組成心形圖案

    摘要:引入庫聲明一個數(shù)組,包含若干單詞用創(chuàng)建元素用為變量賦值刪除文件中相關(guān)的元素和文件中相關(guān)的變量。把數(shù)組元素改為愛在各種語言的單詞愛最后,為第個單詞設(shè)置特殊的文字樣式大功告成 showImg(https://segmentfault.com/img/bVbfwGW?w=400&h=303); 效果預(yù)覽 按下右側(cè)的點擊預(yù)覽按鈕可以在當前頁面預(yù)覽,點擊鏈接可以全屏預(yù)覽。 https://cod...

    EdwardUp 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<