多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > web前端 > htmlcss > js數(shù)據(jù)可視化實(shí)戰(zhàn)之本地時(shí)間軸

js數(shù)據(jù)可視化實(shí)戰(zhàn)之本地時(shí)間軸

來(lái)源:程序員人生   發(fā)布時(shí)間:2016-04-08 09:08:35 閱讀次數(shù):4658次


  • 背景需求
  • 繪制效果
  • 實(shí)現(xiàn)思路
  • 關(guān)鍵技術(shù)
  • 完全代碼


背景需求

使用D3繪制圖表1般都會(huì)繪制1個(gè)坐標(biāo)軸,但是用D3畫過(guò)圖的同學(xué)都知道默許情況下繪制的坐標(biāo)軸刻度是英文的。但是我們要的刻度是中文的。怎樣辦呢?且看本文講授如何繪制本地時(shí)間軸。

繪制效果

實(shí)現(xiàn)效果如何,先來(lái)1睹為快!

  • 默許格式化:
d3.time.format("%b %Y")

這里寫圖片描述

  • 本地格式化:
zh.timeFormat("%Y年%b")

本地時(shí)間軸

實(shí)現(xiàn)思路

思路很簡(jiǎn)單:

  1. 定義簡(jiǎn)體中文本地化
  2. 用本地時(shí)間格式化函數(shù)格式化數(shù)軸的刻度值

關(guān)鍵技術(shù)

  • 定義新的簡(jiǎn)體中文本地化
//簡(jiǎn)體中文本地化 var zh = d3.locale({ decimal: ".", thousands: ",", grouping: [3], currency: ["¥", ""], dateTime: "%a %b %e %X %Y", date: "%Y/%-m/%-d", time: "%H:%M:%S", periods: ["上午", "下午"], days: ["星期日", "星期1", "星期2", "星期3", "星期4", "星期5", "星期6"], shortDays: ["星期日", "星期1", "星期2", "星期3", "星期4", "星期5", "星期6"], months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "101月", "102月"], shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "101月", "102月"] });
  • 定義時(shí)間比例尺
//時(shí)間比例尺 var timeScale = d3.time.scale() .domain([new Date(2015, 0, 1), new Date(2016, 1, 1)]) .range([0, width-40]);
  • 指定軸的比例尺和格式化函數(shù)
//時(shí)間軸 var axis = d3.svg.axis() .scale(timeScale) .tickFormat(zh.timeFormat("%Y年%b"))//指定為本地格式化函數(shù) .orient("bottom")
  • 繪制數(shù)軸
//添加時(shí)間軸 var svg = d3.select("body").append("svg") .attr("width", width+200) .attr("height", height) .append("g") .attr("class", "axis") .attr("transform", "translate(" + 20 + "," + height/2 + ")") .call(axis);
  • 調(diào)劑刻度樣式
//旋轉(zhuǎn)文字 d3.selectAll(g.tick text).attr(transform,translate(30,20)rotate(30))

本例很簡(jiǎn)單,可使用下面的代碼測(cè)試效果,你學(xué)會(huì)了嗎?

完全代碼

<meta charset="utf⑻"> <style> body{ font-weight:bold; } .axis path, .axis line { fill: none; stroke: #000; shape-rendering: crispEdges; } style> <body> <script src="../../d3.js">script> <script> //簡(jiǎn)體中文本地化 var zh = d3.locale({ decimal: ".", thousands: ",", grouping: [3], currency: ["¥", ""], dateTime: "%a %b %e %X %Y", date: "%Y/%-m/%-d", time: "%H:%M:%S", periods: ["上午", "下午"], days: ["星期日", "星期1", "星期2", "星期3", "星期4", "星期5", "星期6"], shortDays: ["星期日", "星期1", "星期2", "星期3", "星期4", "星期5", "星期6"], months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "101月", "102月"], shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "101月", "102月"] }); //svg寬,高 var width = 1000,height = 500; //時(shí)間比例尺 var timeScale = d3.time.scale() .domain([new Date(2015, 0, 1), new Date(2016, 1, 1)]) .range([0, width-40]); //時(shí)間軸 var axis = d3.svg.axis() .scale(timeScale) .tickFormat(zh.timeFormat("%Y年%b")) .orient("bottom") //添加時(shí)間軸 var svg = d3.select("body").append("svg") .attr("width", width+200) .attr("height", height) .append("g") .attr("class", "axis") .attr("transform", "translate(" + 20 + "," + height/2 + ")") .call(axis); //旋轉(zhuǎn)文字 d3.selectAll(g.tick text).attr(transform,translate(30,20)rotate(30)) script>
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 成人国产一区 | 午夜dj在线观看免费高清在线 | 亚洲精品成人网 | 成人国产精品毛片 | 校园春色综合网 | 岛国在线123456| 国产视频一二 | 毛片免费在线观看网址 | 男女视频免费网站 | 欧美日韩亚洲区久久综合 | 中文字幕无线码中文字幕免费 | 米奇影院日韩免费 | 自拍偷自拍亚洲精品10p | 视频一区二区三区欧美日韩 | 欧美精品一区二区三区免费观看 | 美国一级毛片在线观看 | 免费综合网 | 欧美自拍偷拍 | 欧美性a欧美在线 | 欧美一区二区三区高清不卡tv | 一级毛片在线完整免费观看 | 欧美一区二三区 | h网站在线播放 | 超级黄色毛片 | 欧美激情在线精品一区二区 | 中文字幕曰产乱码 | 久久精品伊人网 | 国精品日韩欧美一区二区三区 | 蜜桃精品免费久久久久影院 | 无遮挡很爽很污很黄很色的网站 | 午夜dj影院在线观看免费视频中文 | 欧美韩国 | 中文字幕在线精品 | 手机看片欧美 | 午夜精品久久久久 | 欧美性视频xxxxhd | 国产精品网站 夜色 | 最近的免费中文字幕视频 | 欧美特黄a级高清免费看片 欧美特黄一级aa毛片 | 欧美性性性 | 久久天天躁狠狠躁夜夜爽蜜月 |