iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
Data Technology

讓你資料美美的(d3.js+vue.js)系列 第 15

D3的簡易圖表

  • 分享至 

  • xImage
  •  

這次來做簡單的圖表

首先一樣先在網頁上放點東西

svg.chart

再用d3來把圖表畫上去

var rheight = 25;
var dataset=[100, 8, 15, 16, 23, 42, 158, 50]

var chart = d3.select('.chart')
	.attr("width",800)
	.attr('height',800);

因為使用svg,所以先定義畫布的大小

chart.selectAll("svg")
	.data(dataset)
  	.enter().append("rect")
    .attr("x",35)
    .attr("y",function(d,i){
         return i * rheight;
    })
    .attr("width",function(d){
         return d*3;
    })
    .attr("height",rheight-2)
    .attr("fill","steelblue")

再把資料一個一個畫進去,可以善用function處理這些事

結果
https://ithelp.ithome.com.tw/upload/images/20180103/20105602Oc1ghwf12a.png


想在圖表的前面,寫上每條的大小

chart.selectAll("svg")
	.data(dataset)
	.enter().append('text')
	.attr('x',0)
	.attr("y",function(d,i){
         return i * rheight+18;
    })
	.style('fill', 'black')
	.style('font-size', '18px')
	.style('font-weight', 'bold')
	.text(function(d){
	return d;}
		 );

因為前面是用SVG,所以這邊也使用SVG方便對位

結果
https://ithelp.ithome.com.tw/upload/images/20180103/20105602deovVIYL1T.png

本次程式碼 https://codepen.io/FanWay/pen/jYLboM


上一篇
D3的data,datum
下一篇
D3-長條圖
系列文
讓你資料美美的(d3.js+vue.js)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言