Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. // asks = [15, 0.1] => there is 0.1 volume for the price of 15
  2.  
  3. var data = [{
  4. asks: [[15, 0.1], [13, 0.2], [10, 0.5]],
  5. bids: [[8, 0.2], [7, 0.7], [5, 0.4]]
  6. },
  7. {
  8. asks: [[16, 0.3], [13, 0.2], [10, 0.5]],
  9. bids: [[9, 0.4], [8, 0.25], [6, 0.75]]
  10. },
  11. {
  12. asks: [[14, 0.25], [13, 0.1], [11, 0.54]],
  13. bids: [[10, 0.2], [8, 0.5], [5, 0.4]]
  14. },
  15. {
  16. asks: [[18, 0.4], [13, 0.5], [11, 0.3]],
  17. bids: [[10, 0.3], [8, 0.4], [5, 0.1]]
  18. },
  19. {
  20. asks: [[17, 0.4], [15, 0.3], [12, 0.2]],
  21. bids: [[11, 0.4], [9, 0.6], [7, 0.33]]
  22. }];
  23.  
  24. var Chart = (function(window, d3) {
  25.  
  26. var svg, xScale, yScale, colorbarScale, colorbar, xAxis, yAxis, dim, chartWrapper, line, path, margin = {}, width, height, timeframe, canvas_width, canvas_height;
  27. var yMin, yMax, xMin, xMax;
  28.  
  29. function initDimensions(x_min, x_max, y_min, y_max) {
  30. yMin = y_min;
  31. yMax = y_max;
  32. xMin = x_min;
  33. xMax = x_max;
  34.  
  35. render();
  36. }
  37.  
  38. function init() {
  39. // initialize scales
  40. xScale = d3.time.scale();
  41. yScale = d3.scale.linear();
  42.  
  43. // initialize axis
  44. xAxis = d3.svg.axis()
  45. .orient("bottom")
  46. .outerTickSize(0)
  47. .tickPadding(10)
  48. .tickFormat(d3.time.format('%H:%M:%S'))
  49. .ticks(d3.time.seconds, 1);
  50.  
  51. yAxis = d3.svg.axis()
  52. .orient("right")
  53. .outerTickSize(0)
  54. .tickPadding(10);
  55.  
  56. // initialize svg
  57. svg = d3.select("#chart-grid").append("svg").attr("id", "grid");
  58.  
  59. // render the chart
  60. render();
  61. }
  62.  
  63. function render() {
  64. // get dimensions based on bmp size
  65. updateDimensions();
  66.  
  67. // update x and y scales to new dimensions
  68. var x = xScale.domain([xMin, xMax]).range([0, width]);
  69.  
  70. // console.log(xMin);
  71. var y = yScale.domain([yMin, yMax]).range([height, 0]);
  72.  
  73. // update axis
  74. xAxis
  75. .scale(xScale)
  76. .innerTickSize(-height);
  77.  
  78. yAxis
  79. .scale(yScale)
  80. .innerTickSize(-width);
  81.  
  82. chartWrapper = svg.append('g');
  83. chartWrapper.append('g').attr("class", "x axis");
  84. chartWrapper.append('g').attr("class", "y axis");
  85.  
  86. // update svg elements to new dimensions
  87. svg
  88. .attr("width", width + margin.left + margin.right)
  89. .attr("height", height + margin.top + margin.bottom);
  90.  
  91. chartWrapper.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
  92.  
  93. svg.select('.x.axis')
  94. .attr("transform", "translate(0," + height + ")")
  95. .call(xAxis);
  96.  
  97. svg.select('.y.axis')
  98. .attr("transform", "translate(" + width + ", 0)")
  99. .call(yAxis);
  100.  
  101. }
  102.  
  103. function updateDimensions() {
  104. canvas_width = document.getElementById("chart-wrapper").offsetWidth;
  105. canvas_height = document.getElementById("chart-wrapper").offsetHeight;
  106. margin = { top: 20, right: 50, bottom: 50, left: 80 };
  107. width = canvas_width - margin.right - margin.left;
  108. height = canvas_height - margin.bottom - margin.top;
  109. }
  110.  
  111. return {
  112. render : render,
  113. init : init,
  114. initDimensions : initDimensions
  115. }
  116.  
  117. })(window, d3);
  118.  
  119. Chart.init();
  120. Chart.initDimensions(39596000, 39600000, 5, 17);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement