435
edits
Glozt100sob (talk | contribs) |
Glozt100sob (talk | contribs) |
||
Line 65: | Line 65: | ||
</gallery> | </gallery> | ||
When the datas were adequately collected. The datacollect.tsv was set up as in row and column as below: | When the datas were adequately collected. The datacollect.tsv was set up as in row and column as below: | ||
[[File:dataCollect.png]] | [[File:dataCollect.png]] | ||
I made a sketch which visualize the datas, which i collected. The sketch represented in bubble animation form using sin() function and each circles' color represents the day when I collected the informations. In addition, maximum size of growing circle informs how much Co2 rate, I could save. Lastly, the circles are randomly located by random() function with array[]. See my several visualized datas as pictures below: | |||
[[File:Sketch_result1.jpg|310px|visualized data#1]] [[File:Sketch_result2.jpg|310px|visualized data#2]] | |||
=== dataCollectingCo2 sketch example code === | |||
<source lang="java"> | |||
/* data visualization :: How much I can save Co2 releasing in 1 week. | |||
* | |||
* an experiment from collecting the data then visualize these datas to motion graphic. | |||
* | |||
* | |||
* Patawat Phamuad 2011 | |||
*/ | |||
Table dataTable; | |||
int numCircles=7; | |||
int rowCount; | |||
float rad = 20f; | |||
float angle = 0.0f; | |||
float speed = 0.01; | |||
float[] xPositions = new float[numCircles]; | |||
float[] yPositions = new float[numCircles]; | |||
void setup() { | |||
size(300, 300); | |||
noStroke(); | |||
smooth(); | |||
dataTable = new Table("datacollect.tsv"); | |||
rowCount = dataTable.getRowCount(); | |||
for (int i=0; i< numCircles; i++) { | |||
xPositions[i] = random(0, width); | |||
yPositions[i] = random(0, height); | |||
} | |||
} | |||
void draw() { | |||
background(0); | |||
angle += speed; | |||
float diameter = sin(angle)*300; | |||
for (int row=0;row<rowCount;row++) { | |||
String date = dataTable.getString(row, 0); | |||
float distance = dataTable.getFloat(row, 1); | |||
float co2 = dataTable.getFloat(row, 2); | |||
if (row==0) { | |||
fill(255, 255, 0, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==1) { | |||
fill(234, 114, 234, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==2) { | |||
fill(42, 165, 27, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==3) { | |||
fill(232, 84, 26, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==4) { | |||
fill(15, 8, 255, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==5) { | |||
fill(121, 13, 180, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
else if (row==6) { | |||
fill(255, 0, 0, 155); | |||
ellipse(xPositions[row], yPositions[row], diameter*co2, diameter*co2); | |||
} | |||
println("Date:" +date+ " Total distance:" +distance+" km."+ " Co2 Safe:"+co2 +" kg."); | |||
} | |||
println("========"); | |||
println(rowCount); | |||
} | |||
</source> | |||
<br /><br /> |
edits