For this week’s assignment, I tried to find a fun data set.. I ended up finding some random set a professor took of the color distribution in packs of M&Ms. I am trying to use the average number as the radius of a circle in the window to visualize the data, but right now I’m running into a null pointer exception that I’m trying to fix.

//Colors of milk chocolate M&Ms in the fun size packages
//collected by Todd Swanson and his statistics students in 2001.

String [][] data;
float brown, red, yellow, blue, green, orange;
MandM brownM, redM, yellowM, blueM, greenM, orangeM;
float colorXpos, colorYpos;
float brownSum, redSum, yellowSum, blueSum, greenSum, orangeSum;
int xPos, yPos;

void setup() {
  //the basics
  size(640, 280);
  String line[] = loadStrings("mms.csv");
  data = new String [21][6];
  for (int row=0; row < 21; row++) {
    String [] temp = new String [6];
    temp= split(line[row], ',');
    for (int column=0; column < 6; column++){
        data[row][column]= temp[column];
 //Calculating the sum
  for (int row=0; row < 21; row++) {
      brownSum += parseInt(data[row][0]);
      redSum += parseInt(data[row][1]);
      yellowSum += parseInt(data[row][2]);
      blueSum += parseInt(data[row][3]);
      greenSum += parseInt(data[row][4]);
      orangeSum += parseInt(data[row][5]);

 //To visualize data: average is the radius of ellipse
 //Already know there are 21 total rows
    brown = brownSum/21;
    red = redSum/21;
    yellow = yellowSum/21;
    blue = blueSum/21;
    green = greenSum/21;
    orange = orangeSum/21;
    for (int i = 0; i < 6; i ++){
       brownM =new MandM (random(0,width), random(0,height), brown*15);
       redM =new MandM (random(0,width), random(0,height), red*15);
       yellowM =new MandM (random(0,width), random(0,height), yellow*15);
       blueM =new MandM (random(0,width), random(0,height), blue*15);
       greenM =new MandM (random(0,width), random(0,height), green*15);
       orangeM =new MandM (random(0,width), random(0,height), orange*15);

void draw () {
    MandM [] funSize = new MandM [6];
    funSize[0] = brownM;
    funSize[1] = redM;
    funSize[2] = yellowM;
    funSize[3] = blueM;
    funSize[4] = greenM;
    funSize[5] = orangeM;
    for (int i=0; i<6; i++){
           if (i==0){
        if (i==1){
        if (i==2){
        if (i==3){
        if (i==4){
        if (i==5){

class MandM {
  float xPos, yPos, radius;
  MandM(float x, float y, float radius){
   this.xPos = x;
   this.yPos = y;
   this.radius = radius;
  void drawMandM(){
    for(int i = 0; i < 6; i ++){
        ellipse(xPos, yPos, radius, radius);


Leave a Reply