import java.util.*; Date [] CkoutDates; Date [] CkinDates; int [] Category; long [] Differences; long MaxTime=0; int [] TransCat ={0,0,0,0}; int [][] CataDetail = new int[4][10]; String[] DeweyNumbers = {"ECON","TECH","FAMI","ARTS"}; PFont font1, font2, font3, font4; int countDewey = 0; int CenterEcon = 5; int CenterTech = 25; int CenterArts = 45; int CenterFami = 65; int SizeEcon, SizeTech, SizeArts, SizeFami; int hexSideLength = 7; int textHeight = 430; int SideHexagonH = 100; int SideHexagonW = 1000; int SideTextH = 107; int SideTextW = 1020; int SideDetailH = 237; int SideDetailW = 975; int SideNumW = 1240; String[] Year = {"06", "07", "08", "09", "10"}; int yearIdx = 0; float percent0 = 0.0; int H_NUMBER = 80; int V_NUMBER = 20; float[][] hexArrayEven= new float[H_NUMBER][V_NUMBER]; float[][] hexArrayOdd= new float[H_NUMBER][V_NUMBER]; int[][] hexColorEven = new int[H_NUMBER][V_NUMBER]; int[][] hexColorOdd = new int[H_NUMBER][V_NUMBER]; int hexBgColorOri = 254; float Diff = 0.90; int[][] colorIdx = { {255,255,255}, {81,11,45}, {55,14,4}, {0,255,10}, {189,23,71},{95,98,77}, {95,98,77}, {194,102,11}, {0,100,0}, {0,0,100}, {0,0,0}, {196,210,61}, {111,122,6}, {0,0,10}, {0,0,255},{0,0,0}, {0, 0,100}, {255,255,0}, {0,0,0}, {0,0,0}}; boolean ShowNum = false; boolean yearUpdated = false; boolean hexStroke = false; boolean Econ = false; boolean Tech = false; boolean Fami = false; boolean Arts = false; void InitialHexColor(){ for(int i = 0; i < H_NUMBER; i++ ){ for(int j = 0; j < V_NUMBER; j++){ hexColorEven[i][j]=0; hexColorOdd[i][j]=0; } } } void TransReset(){ for(int i = 0; i < 4; i++){ TransCat[i]=0; } } void CataDetailReset(){ for(int i = 0; i < 4; i++){ for(int j = 0; j < 10; j++){ CataDetail[i][j]=0; } } } void setup() { size(1320,600); font1 = loadFont("HelveticaNeue-Light-18.vlw"); font2 = loadFont("HiraMaruProN-W4-13.vlw"); font3 = loadFont("HelveticaNeue-Light-22.vlw"); font4 = loadFont("HelveticaNeue-Light-12.vlw"); smooth(); noStroke(); InitialHexColor(); String lines[] = loadStrings("MappingProjectData20"+ Year[yearIdx] +".txt"); Category = new int[lines.length]; //// going line by line for (int i=0; i < lines.length; i++){ String[] ParseList = split(lines[i],','); int TheHour = int(ParseList[0].substring(0,2)); int TheMinute = int(ParseList[0].substring(3,5)); if(ParseList[1].length()!=0){ int DewNum = int(ParseList[1].substring(0,2)); //String[] DeweyList = split(ParseList[1],'.'); if(DewNum==33){ TransCat[0]++; } else if(DewNum==61){ TransCat[1]++; } else if(DewNum==64){ TransCat[2]++; } else if(DewNum==79){ TransCat[3]++; } /////////////////////////////////////////////////////////////// //detail part int DewDetail = int(ParseList[1].substring(0,3)); for(int a=0; a<10; a++){ if(DewDetail == 330+a){ CataDetail[0][a]++; } else if(DewDetail == 610+a){ CataDetail[1][a]++; } else if(DewDetail == 640+a){ CataDetail[2][a]++; } else if(DewDetail == 790+a){ CataDetail[3][a]++; } } countDewey++; } } //TransCat[Category[i]]++; println(TransCat[0] + "+" + TransCat[1] + "+" + TransCat[2] + "+" + TransCat[3]); println(CataDetail[3][0] + "+" + CataDetail[3][1] + "+" + CataDetail[3][2] + "+" + CataDetail[3][3] + "+" + CataDetail[3][4]); ////////////////////////////////////////////////////////////////// } void draw() { background(255); drawTitle(); drawHexagon(hexSideLength,H_NUMBER,V_NUMBER); drawSideText(); InitialHexColor(); drawPlot(); drawLines(CenterEcon, SizeEcon, 1, 0); drawLines(CenterTech, SizeTech, 2, 1); drawLines(CenterArts, SizeArts, 4, 2); drawLines(CenterFami, SizeFami, 7, 3); CatalogDetail(); if(yearUpdated){ TransReset(); CataDetailReset(); InitialHexColor(); getData(); InitialHexColor(); yearUpdated = false; } if(ShowNum){ showTotalNum(); } } void keyPressed(){ if(key == CODED){ if(keyCode == UP){ if(ShowNum){ ShowNum = false; } else{ ShowNum = true; } } else if(keyCode == RIGHT){ yearIdx++; yearIdx = yearIdx % 5; yearUpdated = true; println(yearIdx); } else if(keyCode == LEFT){ if(yearIdx<=0){ yearIdx = 4; } else{ yearIdx--; } yearUpdated = true; println(yearIdx); } else if(keyCode == DOWN){ if(hexStroke){ hexStroke = false; } else{ hexStroke = true; } } } if(key == '1'){ if(Econ){ Econ = false; } else{ Econ = true; Tech = false; Arts = false; Fami = false; } } if(key == '2'){ if(Tech){ Tech = false; } else{ Econ = false; Tech = true; Arts = false; Fami = false; } } if(key == '3'){ if(Fami){ Fami = false; } else{ Econ = false; Tech = false; Arts = false; Fami = true; } } if(key == '4'){ if(Arts){ Arts = false; } else{ Econ = false; Tech = false; Arts = true; Fami = false; } } }