Advertisement
robbydax

Stay for a while :)

May 27th, 2015
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  
  4. <head>
  5.  
  6. <meta charset="utf-8">
  7. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  8. <meta name="description" content="">
  9. <meta name="author" content="">
  10.  
  11. <title>CS498DV</title>
  12.  
  13. <!-- Bootstrap core CSS -->
  14.  
  15. <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  16. <script src='https://d3js.org/d3.v5.min.js'></script>
  17. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  18.  
  19.  
  20.  
  21. <style>
  22. .chart circle {fill: #69b3a2; stroke: black;}
  23. #tooltip {
  24. opacity: 0;
  25. position: absolute;
  26. text-align: left;
  27. width: 150px; height: 80px;
  28. background: white;
  29. border: solid;
  30. border-width: 1px;
  31. border-radius: 5px;
  32. }
  33. </style>
  34. </head>
  35.  
  36. <body onload='init()'>
  37.  
  38. <!-- Navigation -->
  39. <nav class="navbar navbar-expand-lg navbar-dark bg-dark static-top">
  40. <div class="container">
  41. <a class="navbar-brand" href="#">CS498 Data Visualization</a>
  42. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
  43. <span class="navbar-toggler-icon"></span>
  44. </button>
  45. <div class="collapse navbar-collapse" id="navbarResponsive">
  46. <ul class="navbar-nav ml-auto">
  47. <li class="nav-item">
  48. <a class="nav-link" href="https://github.com/rasterroo/CS498DV">Github</a>
  49. </li>
  50. </ul>
  51. </div>
  52. </div>
  53. </nav>
  54.  
  55. <!-- Page Content -->
  56. <div class="container">
  57. <div class="row">
  58. <div class="col-lg-12 text-center">
  59. <h1 class="mt-5">2017 Automobile Data</h1>
  60.  
  61. <svg class="chart" width=600 height=600></svg>
  62. <div id="tooltip"></div>
  63.  
  64. <script>
  65. async function init() {
  66.  
  67. const data = await d3.csv('https://flunky.github.io/cars2017.csv');
  68.  
  69. var x = d3.scaleLog()
  70. .base(10)
  71. .domain([10,150])
  72. .range([0, 500]);
  73.  
  74. var y = d3.scaleLog()
  75. .base(10)
  76. .domain([10,150])
  77. .range([500,0]);
  78.  
  79. var tooltip = d3.select("#tooltip");
  80.  
  81. d3.select('svg')
  82. .attr("width", 600)
  83. .attr("height", 600)
  84. .append("g")
  85. .attr("transform", "translate(50,50)")
  86. .selectAll('circle')
  87. .data(data)
  88. .enter()
  89. .append('circle')
  90. .attr('cx',function(d) {return x(d.AverageCityMPG);})
  91. .attr('cy',function(d) {return y(d.AverageHighwayMPG);})
  92. .attr('r', function(d) {return (2+parseInt(d.EngineCylinders))*1.5;})
  93. .style("opacity", 0.4)
  94. .on("mouseover", function(d,i) {
  95. tooltip
  96. .style("opacity",1)
  97. .style("left", (d3.mouse(this)[0]+350) + "px")
  98. .style("top", (d3.mouse(this)[1]+120) + "px")
  99. .html("Make : "+d.Make);
  100. })
  101. .on("mouseout", function() { tooltip.style("opacity",0) });
  102.  
  103.  
  104. xs = d3.scaleLog()
  105. .base(10)
  106. .domain([10,150])
  107. .range([0, 500]);
  108. ys = d3.scaleLog()
  109. .base(10)
  110. .domain([10,150])
  111. .range([500,0]);
  112.  
  113. d3.select('svg').append('g')
  114. .attr("transform", "translate(50,50)")
  115. .call(d3.axisLeft(ys).tickValues([10,20,50,100]).tickFormat(d3.format("~s")));
  116. d3.select('svg').append('g')
  117. .attr("transform", "translate(50,550)")
  118. .call(d3.axisBottom(xs).tickValues([10,20,50,100]).tickFormat(d3.format("~s")));
  119.  
  120. }
  121. </script>
  122. </div>
  123. </div>
  124. </div>
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131. <!-- Bootstrap core JavaScript -->
  132. <script src="vendor/jquery/jquery.slim.min.js"></script>
  133. <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
  134.  
  135. </body>
  136.  
  137. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement