public void setData(int[][][] data, int demeCount) {
		if(data.length==0 || demeCount==1)
			return;
		assert data.length * 2 == (demeCount * (demeCount - 1));
		// first set deme labels...
		xlabs =new String[data.length];
		ylabs =new String[data.length];
		int counter =0;
		for (int i =0; i < demeCount; i++) {
			for (int j =i + 1; j < demeCount; j++) {
				xlabs[counter] ="Allele Freq. in Deme " + (i + 1);
				ylabs[counter] ="Allele Freq. in Deme " + (j + 1);
				counter++;
			}
		}
		jafsData =data;
		maxZ=-Integer.MAX_VALUE;
		zRanks.clear();
		for(int i=0;i<data.length;i++){
			for(int j=0;j<data[i].length;j++){
				for(int k=0;k<data[i][j].length;k++){
					maxZ=Math.max(maxZ, data[i][j][k]);
					zRanks.add(data[i][j][k]);
				}
			}
		}
		Collections.sort(zRanks);
		setMaxZRank(.9);
		System.out.println("Max:"+maxZ);
		
	}