Facebook
From Adjowa Asamoah, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 132
  1. float[][] experiments = {
  2.   {7.2, 7.5, 7.6, 7.5, 7.5, 7.4, 7.1, 7.0, 7.0, 6.9, 6.9, 7.1, 7.2, 7.3, 7.1, 7.1, 7.0, 7.2, 7.3, 7.3},
  3.   {7.4, 7.4, 7.5, 7.3, 7.6, 7.5, 7.5, 7.4, 7.3, 7.3, 7.2, 7.4, 7.5, 7.5, 7.5, 7.4, 7.2, 7.3, 7.5, 7.6},
  4.   {7.4, 7.5, 7.5, 7.6, 7.6, 7.5, 7.4, 7.5, 7.8, 7.5, 7.5, 7.6, 7.8, 7.8, 7.4, 7.8, 7.9, 7.4, 7.5, 7.5}
  5. };
  6.  
  7. void setup()
  8. {
  9.  
  10.   size(1200,500);
  11.   colorMode(HSB,360,100,100);
  12.   for(int i = 0; i < experiments.length; i++)
  13.   {
  14.     int time = 0;
  15.    
  16.     //Experiment color
  17.     fill((i * 100) % 360, 100, 100);
  18.     rect((i + 0.5f) * width/20, height/25, width/20,height/25);
  19.    
  20.     //Experiment label
  21.     fill(0);
  22.     text("Exp " + (i+1),(i + 0.65f) * width/20, 1.75f* height/25);
  23.    
  24.     for(int u = 0; u < experiments[i].length; u++)
  25.     {
  26.       //Data cell color
  27.       fill(30, 30, 100);
  28.       rect((i + 0.5f) * width/20, (u+2) * height/25, width/20,height/25);
  29.      
  30.       //Data value text
  31.       fill(0);
  32.       text(experiments[i][u],(i + 0.6f) * width/20, (u+2+0.85f) * height/25);
  33.      
  34.       //Bar graph color
  35.       fill((i * 100) % 360, 100, 70);
  36.       rect((u + 4.75f) * width/25 + i * width/100, height/25 + (height * 0.84f - height * 0.84f * (experiments[i][u]-5f)/3f), width/120, height * 0.84f * (experiments[i][u]-5f)/3f);
  37.      
  38.       //Time text for the second experiment
  39.       if(i == 1)
  40.       {
  41.         fill(0);
  42.         text(time, (u+4.75f+i*0.25f) * width/25, height * 0.9f);
  43.       }
  44.       time += 5;
  45.     }
  46.    
  47.   }
  48.  
  49.   fill(0);
  50.   textSize(20);
  51.   text("pH Level by Time", width/2,height*0.05f);
  52.  
  53.   //Calculating analysis data
  54.   ArrayList<Float> experiment_averages = new ArrayList<Float>();
  55.   Float overall_average = 0f;
  56.   for(int i = 0; i < experiments.length; i++)
  57.   {
  58.     experiment_averages.add(average(experiments[i]));
  59.   }
  60.   overall_average = (experiment_averages.get(0) + experiment_averages.get(1) + experiment_averages.get(2))/3;
  61.  
  62.   //Displaying analysis data
  63.   println(experiment_averages);
  64.   println(overall_average);
  65.   println(maximum(experiments));
  66.   println(minimum(experiments));
  67.   textSize(14);
  68.   text("Avg: " + overall_average + "    Min: "+ minimum(experiments) + "    Max: " + maximum(experiments),width/35,height*0.95f);
  69.  
  70.   save("Problem_4.png");
  71. }
  72.  
  73. // Function to calculate the average value of a set of data
  74. float average(float[] data) {
  75.   float sum = 0;
  76.   for (int i = 0; i < data.length; i++) {
  77.     sum += data[i];
  78.   }
  79.   return sum / data.length;
  80. }
  81.  
  82.  
  83. // Function to find the maximum value in a multidimensional array
  84. float maximum(float[][] data) {
  85.   float max = data[0][0]; // Initialize max with the first element of the array
  86.   for (int i = 0; i < data.length; i++) {
  87.     for (int j = 0; j < data[i].length; j++) {
  88.       if (data[i][j] > max) {
  89.         max = data[i][j];
  90.       }
  91.     }
  92.   }
  93.   return max;
  94. }
  95.  
  96.  
  97. // Function to find the minimum value in a multidimensional array
  98. float minimum(float[][] data) {
  99.   float min = data[0][0]; // Initialize min with the first element of the array
  100.   for (int i = 0; i < data.length; i++) {
  101.     for (int j = 0; j < data[i].length; j++) {
  102.       if (data[i][j] < min) {
  103.         min = data[i][j];
  104.       }
  105.     }
  106.   }
  107.   return min;
  108. }