日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > js數據可視化實戰之本地時間軸

js數據可視化實戰之本地時間軸

來源:程序員人生   發布時間:2016-04-08 09:08:35 閱讀次數:4684次


  • 背景需求
  • 繪制效果
  • 實現思路
  • 關鍵技術
  • 完全代碼


背景需求

使用D3繪制圖表1般都會繪制1個坐標軸,但是用D3畫過圖的同學都知道默許情況下繪制的坐標軸刻度是英文的。但是我們要的刻度是中文的。怎樣辦呢?且看本文講授如何繪制本地時間軸。

繪制效果

實現效果如何,先來1睹為快!

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

這里寫圖片描述

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

本地時間軸

實現思路

思路很簡單:

  1. 定義簡體中文本地化
  2. 用本地時間格式化函數格式化數軸的刻度值

關鍵技術

  • 定義新的簡體中文本地化
//簡體中文本地化 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月"] });
  • 定義時間比例尺
//時間比例尺 var timeScale = d3.time.scale() .domain([new Date(2015, 0, 1), new Date(2016, 1, 1)]) .range([0, width-40]);
  • 指定軸的比例尺和格式化函數
//時間軸 var axis = d3.svg.axis() .scale(timeScale) .tickFormat(zh.timeFormat("%Y年%b"))//指定為本地格式化函數 .orient("bottom")
  • 繪制數軸
//添加時間軸 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);
  • 調劑刻度樣式
//旋轉文字 d3.selectAll(g.tick text).attr(transform,translate(30,20)rotate(30))

本例很簡單,可使用下面的代碼測試效果,你學會了嗎?

完全代碼

<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> //簡體中文本地化 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; //時間比例尺 var timeScale = d3.time.scale() .domain([new Date(2015, 0, 1), new Date(2016, 1, 1)]) .range([0, width-40]); //時間軸 var axis = d3.svg.axis() .scale(timeScale) .tickFormat(zh.timeFormat("%Y年%b")) .orient("bottom") //添加時間軸 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); //旋轉文字 d3.selectAll(g.tick text).attr(transform,translate(30,20)rotate(30)) script>
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 麻豆91精品91久久久的内涵 | 日韩视频免费在线 | 国产精品一区在线播放 | 久久五月天婷婷 | 九九精品在线 | 99国产精品国产精品久久 | 在线观看免费av网 | 天堂av在线影院 | 高清国产一区二区三区 | 视频精品久久 | 嫩草视频国产精品 | 欧美日韩在线视频一区 | 欧美在线综合 | 国产精品一卡 | 免费看的黄色网 | 谁有免费黄色网址 | 久久大 | 91久久久国产精品 | 国产精品9 | 欧美日韩视频一区二区三区 | 精品久久久久久久久久久下田 | 精品无码久久久久国产 | 玖玖精品视频 | 欧美日韩精品一区二区在线播放 | 国产精品卡一卡二 | 久久国产精品网站 | 欧美日韩中文 | 国产精品网站在线 | 成人91在线 | 九九热在线精品视频 | 欧美日韩在线一区二区 | 美女视频黄色免费 | 91麻豆精品国产91久久久久久 | 日本大片免a费观看视频的特点 | 国产日韩欧美一区二区三区乱码 | 中文字幕影院 | 亚洲国产精品一区二区第一页 | 日本特黄a级高清免费大片 韩国精品久久久 | 欧美黑人双插 | 日韩精品一二三 | 国产一区二区中文字幕 |