Skip to content

Commit

Permalink
Finalish touches
Browse files Browse the repository at this point in the history
  • Loading branch information
tmcw committed Sep 11, 2012
1 parent 9ed68d6 commit 6a7eeb1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 29 deletions.
3 changes: 3 additions & 0 deletions demo/index.html
Expand Up @@ -20,6 +20,9 @@
circle.control {
fill: #d23634;
}
g.row-0 {
cursor:move;
}
circle.mean {
fill:#006EB8;
}
Expand Down
60 changes: 31 additions & 29 deletions demo/kmeans-diagram.js
Expand Up @@ -12,6 +12,7 @@ var svg = d3.select('#vis').append('svg')
.attr('width', w + 2 * padding)
.attr('height', h + 2 * padding);


var points = [0, 2, 3, 4, 5, 10, 18, 16, 20];
var means = sample(points, 4);
var clusters1 = means_clusters(points, means, dist1d, function(d) { return d; });
Expand Down Expand Up @@ -62,36 +63,7 @@ var closest_areas = c.append('rect')
.attr('height', 20)
.attr('y', -10);

function update() {

means = sample(points, 4);
clusters1 = means_clusters(points, means, dist1d, function(d) { return d; });
means2 = clusters_means(clusters1, average1d, function(d) { return d; });
clusters2 = means_clusters(points, means2, dist1d, function(d) { return d; });
means3 = clusters_means(clusters2, average1d, function(d) { return d; });

closest_areas.data(closest_d);
closest_areas
.transition()
.attr('x', function(d) {
return x(d3.min(d, function(x) { return x; }));
})
.attr('width', function(d) {
return x((d3.max(d, function(x) { return x; }) -
d3.min(d, function(x) { return x; })));
});

p.data(points);
p.attr('transform', function(d) {
return 'translate(' + x(d) + ', 0)';
});
controltext.text(function(d, i) { return d; });
m.data(means_d)
.transition()
.attr('transform', function(d) {
return 'translate(' + x(d) + ', 15)';
});
}

var p = steps.selectAll('g.points')
.data(points)
Expand Down Expand Up @@ -140,4 +112,34 @@ m.append('circle')
.attr('r', 5)
.attr('class', 'mean');

function update() {
means = sample(points, 4);
clusters1 = means_clusters(points, means, dist1d, function(d) { return d; });
means2 = clusters_means(clusters1, average1d, function(d) { return d; });
clusters2 = means_clusters(points, means2, dist1d, function(d) { return d; });
means3 = clusters_means(clusters2, average1d, function(d) { return d; });

closest_areas.data(closest_d);
closest_areas
.transition()
.attr('x', function(d) {
return x(d3.min(d, function(x) { return x; }));
})
.attr('width', function(d) {
return x((d3.max(d, function(x) { return x; }) -
d3.min(d, function(x) { return x; })));
});

p.data(points);
p.attr('transform', function(d) {
return 'translate(' + x(d) + ', 0)';
});
controltext.text(function(d, i) { return d; });
m.data(means_d)
.transition()
.attr('transform', function(d) {
return 'translate(' + x(d) + ', 15)';
});
}

update();

0 comments on commit 6a7eeb1

Please sign in to comment.