Skip to content

Commit dc7714e

Browse files
author
mikima
committed
scatterPlot: updated using margin convention
1 parent b0e28a5 commit dc7714e

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

charts/scatterPlot.js

+25-22
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,22 @@
4545
var x = points.dimensions().get('x'),
4646
y = points.dimensions().get('y');
4747

48-
var g = selection
49-
.attr("width", +width())
50-
.attr("height", +height())
51-
.append("g");
52-
5348
//define margins
5449
var margin = {
55-
top: 0,
56-
right: 0,
57-
bottom: 20,
50+
top: +maxRadius(),
51+
right: +maxRadius(),
52+
bottom: 20 + maxRadius(),
5853
left: marginLeft()
5954
};
6055

61-
var w = width() - margin.left,
62-
h = height() - margin.bottom;
56+
var w = width() - margin.left - margin.right,
57+
h = height() - margin.bottom - margin.top;
58+
59+
var g = selection
60+
.attr("width", +width())
61+
.attr("height", +height())
62+
.append("g")
63+
.attr('transform','translate(' + margin.left + ',' + margin.top + ')')
6364

6465
var xExtent = !useZero() ? d3.extent(data, d => {
6566
return d.x;
@@ -73,31 +74,33 @@
7374
})];
7475

7576
var xScale = x.type() == "Date" ?
76-
d3.scaleTime().range([margin.left, width() - maxRadius()]).domain(xExtent) :
77-
d3.scaleLinear().range([margin.left, width() - maxRadius()]).domain(xExtent),
77+
d3.scaleTime().range([0, w]).domain(xExtent) :
78+
d3.scaleLinear().range([0, w]).domain(xExtent),
7879
yScale = y.type() == "Date" ?
79-
d3.scaleTime().range([h - maxRadius(), maxRadius()]).domain(yExtent) :
80-
d3.scaleLinear().range([h - maxRadius(), maxRadius()]).domain(yExtent),
81-
sizeScale = d3.scaleLinear().range([1, Math.pow(+maxRadius(), 2) * Math.PI]).domain([0, d3.max(data, d => {
82-
return d.size;
83-
})]),
84-
xAxis = d3.axisBottom(xScale).tickSize(-h + maxRadius() * 2) //.tickSubdivide(true),
85-
yAxis = d3.axisLeft(yScale).ticks(10).tickSize(-w + maxRadius());
80+
d3.scaleTime().range([h, 0]).domain(yExtent) :
81+
d3.scaleLinear().range([h, 0]).domain(yExtent),
82+
sizeScale = d3.scaleSqrt().range([1, +maxRadius()])
83+
.domain([0, d3.max(data, d => {
84+
return d.size;
85+
})]),
86+
xAxis = d3.axisBottom(xScale).tickSize(-h) //.tickSubdivide(true),
87+
yAxis = d3.axisLeft(yScale).ticks(10).tickSize(-w);
8688

8789
g.append("g")
8890
.attr("class", "x axis")
8991
.style("stroke-width", "1px")
9092
.style("font-size", "10px")
9193
.style("font-family", "Arial, Helvetica")
92-
.attr("transform", `translate(0, ${h - maxRadius()})`)
94+
//.attr("transform", `translate(0, ${h - maxRadius()})`)
95+
.attr('transform', 'translate(0,' + h + ')')
9396
.call(xAxis);
9497

9598
g.append("g")
9699
.attr("class", "y axis")
97100
.style("stroke-width", "1px")
98101
.style("font-size", "10px")
99102
.style("font-family", "Arial, Helvetica")
100-
.attr("transform", `translate(${margin.left}, 0)`)
103+
//.attr("transform", `translate(${margin.left}, 0)`)
101104
.call(yAxis);
102105

103106
d3.selectAll(".y.axis line, .x.axis line, .y.axis path, .x.axis path")
@@ -128,7 +131,7 @@
128131
return `translate(${xScale(d.x)}, ${yScale(d.y)})`;
129132
})
130133
.attr("r", d => {
131-
return Math.sqrt(sizeScale(d.size) / Math.PI);
134+
return sizeScale(d.size);
132135
});
133136

134137
point.append("circle")

0 commit comments

Comments
 (0)