Skip to content

Commit a0a8b49

Browse files
committed
Added color option for scatter plot and as test to boxplot
1 parent e3c6d02 commit a0a8b49

File tree

2 files changed

+65
-39
lines changed

2 files changed

+65
-39
lines changed

app/scripts/analytics.js

+64-38
Original file line numberDiff line numberDiff line change
@@ -86,45 +86,21 @@ var analytics = {
8686
return data;
8787
}
8888

89-
/*function convertData(inputData) {
90-
var data = [];
91-
var uniqueArray = [];
92-
93-
for (i = 0; i < inputData.length; i++) {
94-
var array = $.map(inputData[i], function(value, index) {
95-
return [value];
96-
});
97-
if (uniqueArray.indexOf(array[0]) == -1)
98-
{
99-
uniqueArray.push(array[0]);
100-
data.push({
101-
key: array[0],
102-
values: []
103-
});
104-
}
105-
}
106-
107-
for (j = 0; j < uniqueArray.length; j++) {
108-
for (k = 0; k < inputData.length; k++)
109-
{
110-
var array = $.map(inputData[k], function(value, index) {
111-
return [value];
112-
});
113-
if (array[0] == uniqueArray[j])
114-
{
115-
data[j].values.push({
116-
0: parseFloat(array[1])
117-
, 1: parseFloat(array[2])
118-
, 2: parseFloat(array[3])
119-
});
120-
}
121-
}
122-
}
123-
return data;
124-
}*/
12589
},
12690

12791
boxPlot: function(arg){
92+
93+
var colors = null;
94+
if(arg.colors)
95+
colors = arg.colors;
96+
else
97+
colors = d3.scale.category10();
98+
99+
keyColor = function(d, i) {
100+
var n = d.key.lastIndexOf("_");
101+
var key = d.key.substring(0, n);
102+
return colors(key);
103+
};
128104

129105
var el = d3.select(arg.selector);
130106
$(arg.selector).empty();
@@ -162,7 +138,8 @@ var analytics = {
162138
.attr("height", height + analytics.margin.bottom + analytics.margin.top)
163139
.append("g")
164140
.attr("transform", "translate(" + ( width/data.length/2 - calc_width/2) + "," + analytics.margin.top + ")")
165-
.call(chart);
141+
.call(chart)
142+
.attr("stroke", keyColor);
166143

167144

168145

@@ -171,17 +148,30 @@ var analytics = {
171148
var data = [];
172149
var uniqueArray = [];
173150

151+
/*for (i = 0; i < inputData.length; i++) {
152+
var array = $.map(inputData[i], function(value, index) {
153+
return [value];
154+
});
155+
if (uniqueArray.indexOf(array[0]) == -1)
156+
{
157+
uniqueArray.push(array[0]);
158+
}
159+
}*/
174160
for (i = 0; i < inputData.length; i++) {
175161
var array = $.map(inputData[i], function(value, index) {
176162
return [value];
177163
});
178164
if (uniqueArray.indexOf(array[0]) == -1)
179165
{
180166
uniqueArray.push(array[0]);
167+
data.push({
168+
key: array[0],
169+
values: []
170+
});
181171
}
182172
}
183173

184-
for (j = 0; j < uniqueArray.length; j++) {
174+
/*for (j = 0; j < uniqueArray.length; j++) {
185175
for (k = 0; k < inputData.length; k++)
186176
{
187177
var array = $.map(inputData[k], function(value, index) {
@@ -196,7 +186,43 @@ var analytics = {
196186
if (s > max) max = s;
197187
if (s < min) min = s;
198188
}
189+
}*/
190+
191+
/*for (j = 0; j < uniqueArray.length; j++) {
192+
for (k = 0; k < inputData.length; k++)
193+
{
194+
var array = $.map(inputData[k], function(value, index) {
195+
return [value];
196+
});
197+
if (array[0] == uniqueArray[j])
198+
{
199+
data[j].values.push({
200+
0: new Date(array[1])
201+
, 1: parseFloat(array[2])
202+
});
203+
}
204+
}
205+
}*/
206+
207+
for (j = 0; j < uniqueArray.length; j++) {
208+
for (k = 0; k < inputData.length; k++)
209+
{
210+
var array = $.map(inputData[k], function(value, index) {
211+
return [value];
212+
});
213+
if (array[0] != uniqueArray[j]) continue;
214+
var e = j,
215+
s = parseFloat(array[1]),
216+
d = data[e];
217+
if (!d)
218+
d = data[e] = [s];
219+
else
220+
data[j].values.push(s);
221+
if (s > max) max = s;
222+
if (s < min) min = s;
223+
}
199224
}
225+
200226
return data;
201227
}
202228
},

app/scripts/box.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ d3.box = function() {
1414
// For each small multiple…
1515
function box(g) {
1616
g.each(function(d, i) {
17-
d = d.map(value).sort(d3.ascending);
17+
d = d.values.map(value).sort(d3.ascending);
1818
var g = d3.select(this),
1919
n = d.length,
2020
min = d[0],

0 commit comments

Comments
 (0)