Example #1
0
 public static JFreeChart createPieChart(string title, PieDataset dataset, PieDataset previousDataset, int percentDiffForMaxScale, bool greenForIncrease, bool legend, bool tooltips, bool urls, bool subTitle, bool showDifference)
 {
   int num1 = tooltips ? 1 : 0;
   int num2 = urls ? 1 : 0;
   int num3 = showDifference ? 1 : 0;
   int num4 = greenForIncrease ? 1 : 0;
   int num5 = legend ? 1 : 0;
   int num6 = subTitle ? 1 : 0;
   PiePlot piePlot = new PiePlot(dataset);
   piePlot.setLabelGenerator((PieSectionLabelGenerator) new StandardPieSectionLabelGenerator());
   piePlot.setInsets(new RectangleInsets(0.0, 5.0, 5.0, 5.0));
   if (num1 != 0)
     piePlot.setToolTipGenerator((PieToolTipGenerator) new StandardPieToolTipGenerator());
   if (num2 != 0)
     piePlot.setURLGenerator((PieURLGenerator) new StandardPieURLGenerator());
   List keys = dataset.getKeys();
   DefaultPieDataset defaultPieDataset = (DefaultPieDataset) null;
   if (num3 != 0)
     defaultPieDataset = new DefaultPieDataset();
   double num7 = (double) byte.MaxValue / (double) percentDiffForMaxScale;
   Iterator iterator = keys.iterator();
   while (iterator.hasNext())
   {
     IComparable comparable = (IComparable) iterator.next();
     Number number1 = dataset.getValue(comparable);
     Number number2 = previousDataset.getValue(comparable);
     if (number2 == null)
     {
       if (num4 != 0)
         piePlot.setSectionPaint(comparable, (Paint) Color.green);
       else
         piePlot.setSectionPaint(comparable, (Paint) Color.red);
       if (num3 != 0)
         defaultPieDataset.setValue((IComparable) new StringBuffer().append((object) comparable).append(" (+100%)").toString(), number1);
     }
     else
     {
       double num8 = (number1.doubleValue() / number2.doubleValue() - 1.0) * 100.0;
       double num9 = Math.abs(num8) < (double) percentDiffForMaxScale ? Math.abs(num8) * num7 : (double) byte.MaxValue;
       if (num4 != 0 && number1.doubleValue() > number2.doubleValue() || num4 == 0 && number1.doubleValue() < number2.doubleValue())
         piePlot.setSectionPaint(comparable, (Paint) new Color(0, ByteCodeHelper.d2i(num9), 0));
       else
         piePlot.setSectionPaint(comparable, (Paint) new Color(ByteCodeHelper.d2i(num9), 0, 0));
       if (num3 != 0)
         defaultPieDataset.setValue((IComparable) new StringBuffer().append((object) comparable).append(" (").append(num8 < 0.0 ? "" : "+").append(NumberFormat.getPercentInstance().format(num8 / 100.0)).append(")").toString(), number1);
     }
   }
   if (num3 != 0)
     piePlot.setDataset((PieDataset) defaultPieDataset);
   JFreeChart.__\u003Cclinit\u003E();
   JFreeChart jfc = new JFreeChart(title, JFreeChart.__\u003C\u003EDEFAULT_TITLE_FONT, (Plot) piePlot, num5 != 0);
   if (num6 != 0)
   {
     TextTitle.__\u003Cclinit\u003E();
     TextTitle textTitle = new TextTitle(new StringBuffer().append("Bright ").append(num4 == 0 ? "green" : "red").append("=change >=-").append(percentDiffForMaxScale).append("%, Bright ").append(num4 != 0 ? "green" : "red").append("=change >=+").append(percentDiffForMaxScale).append("%").toString(), new Font("SansSerif", 0, 10));
     jfc.addSubtitle((Title) textTitle);
   }
   ChartFactory.currentTheme.apply(jfc);
   return jfc;
 }