Pages

Wednesday, February 11, 2015

Data Visualization | Week 4

Data Visualization Week 4




Tutorials

— Let’s Make a Bar Chart I, II, III
Without Javascript code

  1. <!DOCTYPE html>  
  2. <style>  
  3.   
  4. .chart div {  
  5.   font10px sans-serif;  
  6.   background-color: steelblue;  
  7.   text-alignright;  
  8.   padding3px;  
  9.   margin1px;  
  10.   colorwhite;  
  11. }  
  12.   
  13. </style>
  14. <div class="chart">  
  15.   <div style="width: 40px;">4</div>  
  16.   <div style="width: 80px;">8</div>  
  17.   <div style="width: 150px;">15</div>  
  18.   <div style="width: 160px;">16</div>  
  19.   <div style="width: 230px;">23</div>  
  20.   <div style="width: 420px;">42</div>  
  21. </div>  

Result

Using Javascript code (SVG)
  1. <!DOCTYPE html>  
  2. <style>  
  3.   
  4. .chart rect {  
  5.   fill: steelblue;  
  6. }  
  7.   
  8. .chart text {  
  9.   fill: white;  
  10.   font: 10px sans-serif;  
  11.   text-anchor: end;  
  12. }  
  13.   
  14. </style>  
  15. <svg class="chart" width="420" height="120">  
  16.   <g transform="translate(0,0)">  
  17.     <rect width="40" height="19"></rect>  
  18.     <text x="37" y="9.5" dy=".35em">4</text>  
  19.   </g>  
  20.   <g transform="translate(0,20)">  
  21.     <rect width="80" height="19"></rect>  
  22.     <text x="77" y="9.5" dy=".35em">8</text>  
  23.   </g>  
  24.   <g transform="translate(0,40)">  
  25.     <rect width="150" height="19"></rect>  
  26.     <text x="147" y="9.5" dy=".35em">15</text>  
  27.   </g>  
  28.   <g transform="translate(0,60)">  
  29.     <rect width="160" height="19"></rect>  
  30.     <text x="157" y="9.5" dy=".35em">16</text>  
  31.   </g>  
  32.   <g transform="translate(0,80)">  
  33.     <rect width="230" height="19"></rect>  
  34.     <text x="227" y="9.5" dy=".35em">23</text>  
  35.   </g>  
  36.   <g transform="translate(0,100)">  
  37.     <rect width="420" height="19"></rect>  
  38.     <text x="417" y="9.5" dy=".35em">42</text>  
  39.   </g>  
  40. </svg> 
Result
Using Javascript code (D3)
  1. <!DOCTYPE html>  
  2. <meta charset="utf-8">  
  3. <style>  
  4.   
  5. .chart rect {  
  6.   fill: steelblue;  
  7. }  
  8.   
  9. .chart text {  
  10.   fill: white;  
  11.   font: 10px sans-serif;  
  12.   text-anchor: end;  
  13. }  
  14.   
  15. </style>  
  16. <svg class="chart"></svg>  
  17. <script src="http://d3js.org/d3.v3.min.js"></script>  
  18. <script>  
  19.   
  20. var data = [4, 8, 15, 16, 23, 42];  
  21.   
  22. var width = 420,  
  23.     barHeight = 20;  
  24.   
  25. var x = d3.scale.linear()  
  26.     .domain([0, d3.max(data)])  
  27.     .range([0, width]);  
  28.   
  29. var chart = d3.select(".chart")  
  30.     .attr("width", width)  
  31.     .attr("height", barHeight * data.length);  
  32.   
  33. var bar = chart.selectAll("g")  
  34.     .data(data)  
  35.   .enter().append("g")  
  36.     .attr("transform", function(d, i) { return "translate(0," + i * barHeight + ")"; });  
  37.   
  38. bar.append("rect")  
  39.     .attr("width", x)  
  40.     .attr("height", barHeight - 1);  
  41.   
  42. bar.append("text")  
  43.     .attr("x", function(d) { return x(d) - 3; })  
  44.     .attr("y", barHeight / 2)  
  45.     .attr("dy", ".35em")  
  46.     .text(function(d) { return d; });  
  47.   
  48. </script>  
Result


spreadsheet data Format
CSV, DSV, TSV, LTSV ?
SV > separated values การแบ่งค่าต่างๆโดย . . .
CSV > Comma-separated values ใช้ คอมม่า ในการแบ่งข้อมูล

Year,Make,Model
1997,Ford,E350
2000,Mercury,Cougar
DSV > Delimiter-separated values ใช้ ดับเบิ้ลโค้ดและคอมม่า ในการแบ่งข้อมูล
"Date","Pupil","Grade"
"25 May","Bloggs, Fred","C"
"25 May","Doe, Jane","B"
"15 July","Bloggs, Fred","A"
"15 April","Muniz, Alvin ""Hank""","A"
TSV > Tab-separated values ใช้ แทป ในการแบ่งข้อมูล
name value
Locke 4
Reyes 8
Ford 15
Jarrah 16
Shephard 23
Kwon 42
LTSV > Labeled Tab-separated values ใช้ เลเบลและแทป ในการแบ่งข้อมูล

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

for more information about LSTV >> http://ltsv.org/ <<

No comments:

Post a Comment