<html>
<head>
<meta name="description" content="Scatterplot w/Scaling">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://d3js.org/d3.v4.min.js"></script>
<title>CS 424 - D3 examples</title>
</head>
<body>
</body>
</html>
let svg = d3.select("body")
.append("svg")
.attr("width", 400)
.attr("height", 400)
let w = 400;
let h = 400;
/*
svg.attr("width", w)
svg.attr("height", h)
svg.style("background", "#FFE")
*/
let min = 30;
let max = 4000;
let t1 = [
{pos:[55,15]},
{pos:[50,17]},
{pos:[60,21]}
];
let posesX = t1.map( d => d.pos[0] );
console.log(posesX);
let posesY = t1.map( d => d.pos[1] );
console.log(posesY);
let minValX = d3.min(posesX);
let maxValX = d3.max(posesX);
let minValY = d3.min(posesY);
let maxValY = d3.max(posesY);
console.log(maxValX);
console.log(maxValY);
let margin = 50;
let xScale = d3.scaleLinear()
.domain([50, 60])
.range([margin, w - margin]);
let yScale = d3.scaleLinear()
.domain([14, 21])
.range([margin, h - margin]);
console.log("val = " + xScale(maxValX/2));
svg.selectAll()
.data([
{pos:[55,15]},
{pos:[50,17]},
{pos:[60,21]}
]).enter().each( (d,i) => {
svg.append("circle")
.attr("cx", xScale(d.pos[0]))
.attr("cy", yScale(d.pos[1]))
.attr("r", 50)
}
);
/*
svg.append("text")
.text( "(" + d.pos[0] + "," + d.pos[1] + ")" )
.attr("text-anchor", "middle")
.attr("alignment-baseline","central")
.attr("x",xpos)
.attr("y",ypos)
.attr("font-family", "helvetica")
.attr("font-size", "10px")
.attr("fill", "black")
.attr("opacity", "0.5")
*/
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |