예제 #1
0
 FrequencyEntry getEntry(String key) {
   for (FrequencyEntry fe : entries) {
     if (fe.getKey().equals(key)) {
       return fe;
     }
   }
   return null;
 }
예제 #2
0
 List<ChartCategory> getCategories() {
   List<ChartCategory> map = new ArrayList<ChartCategory>();
   for (FrequencyEntry fe : getEntries()) {
     ChartCategory cat = new ChartCategory<String>(fe.getKey());
     map.add(cat);
   }
   return map;
 }
예제 #3
0
 long getMax() {
   long max = Integer.MIN_VALUE;
   for (FrequencyEntry fe : this.getEntries()) {
     if (fe.getFrequency() > max) {
       max = fe.getFrequency();
     }
   }
   return max;
 }
예제 #4
0
 /**
  * LogY flag indicates that the log of each value will later be taken. This should be used for
  * "show original frequencies" in order to get an accurate difference (as it is stacked on top of
  * current frequencies). Do not use otherwise.
  */
 static ChartFrequencyMap subtract(ChartFrequencyMap map1, ChartFrequencyMap map2, boolean logY) {
   ChartFrequencyMap result = new ChartFrequencyMap();
   for (FrequencyEntry fe1 : map1.entries) {
     FrequencyEntry fe2 = map2.getEntry(fe1.getKey());
     if (fe2 == null) {
       result.addEntry(fe1.getKey(), fe1.getFrequency());
     } else if (logY) {
       result.addEntry(
           fe1.getKey(),
           (long) (Math.pow(10, Math.log10(fe1.getFrequency()) - Math.log10(fe2.getFrequency()))));
     } else {
       result.addEntry(fe1.getKey(), fe1.getFrequency() - fe2.getFrequency());
     }
   }
   return result;
 }