/**
   * This method renders a line chart of income and expense entries over 1-month intervals
   *
   * @param dataset
   * @return financesLineChart_PNL
   */
  private ChartPanel renderLineChart(XYDataset dataset) {

    // Create JFreeChart with dataSet
    JFreeChart lineChart =
        ChartFactory.createTimeSeriesChart("", "", "Amount", dataset, true, true, false);

    // Change the x-axis (time interval) format
    XYPlot plot = (XYPlot) lineChart.getPlot();
    DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
    dateAxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));

    // Change the chart's visual properties
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);

    XYItemRenderer r = plot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
      XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
      renderer.setBaseShapesVisible(true);
      renderer.setBaseShapesFilled(true);
      renderer.setDrawSeriesLineAsPath(true);
    }

    // Create and format the chart panel
    ChartPanel financesLineChart_PNL =
        new ChartPanel(lineChart, 600, 250, 200, 100, 800, 300, true, true, true, true, true, true);
    financesLineChart_PNL.setSize(800, 300);

    return financesLineChart_PNL;
  }
示例#2
0
  private void jButton2ActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton2ActionPerformed
    double newMinLifetime, newMaxLifetime;
    try {
      newMinLifetime = Double.parseDouble(jTFMinValue.getText());
      newMaxLifetime = Double.parseDouble(jTFMaxValue.getText());

      IntensImageDataset dataValuesDataset =
          new IntensImageDataset(imHeight, imWidth, new double[imWidth * imHeight]);
      for (int i = 0; i < dataValues.length; i++) {
        dataValuesDataset.SetValue(selImInd[i], dataValues[i]);
      }
      PaintScale ps = new RainbowPaintScale(newMinLifetime, newMaxLifetime);
      JFreeChart aveLifetimeChart =
          createScatChart(
              ImageUtilities.createColorCodedImage(dataValuesDataset, ps), ps, imWidth, imHeight);
      aveLifetimeChart.getXYPlot().getRangeAxis().setInverted(true);
      ChartPanel aveLifetimePanel = new ChartPanel(aveLifetimeChart);
      aveLifetimePanel.setFillZoomRectangle(true);
      aveLifetimePanel.setMouseWheelEnabled(true);
      jPImage.removeAll();
      aveLifetimePanel.setSize(jPImage.getSize());
      aveLifetimePanel.addChartMouseListener(listener);
      jPImage.add(aveLifetimePanel);
      jPImage.repaint();
    } catch (NumberFormatException ex) {
      CoreErrorMessages.selCorrChNum();
    }
  } // GEN-LAST:event_jButton2ActionPerformed
  /**
   * This method renders the chart given a dataset on the respective panel
   *
   * @param dataset
   * @param type (0: Assets, 1: Liabilities, 2: Income, 3: Expense)
   */
  private ChartPanel renderBarChart(DefaultCategoryDataset dataset, int type) {

    // Customize the chart's title
    String title = "";
    switch (type) {
      case 0:
        title = "Assets";
        break;
      case 1:
        title = "Liabilities";
        break;
      case 2:
        title = "Income";
        break;
      case 3:
        title = "Expenses";
        break;
    }

    // Create JFreeChart with dataSet
    JFreeChart newChart =
        ChartFactory.createBarChart(
            title, "Categories", "Amount", dataset, PlotOrientation.VERTICAL, false, true, false);

    // Change the chart's visual properties
    CategoryPlot chartPlot = newChart.getCategoryPlot();
    chartPlot.setBackgroundPaint(Color.WHITE); // to set the background color of the chart as white
    BarRenderer chartRenderer = (BarRenderer) chartPlot.getRenderer();

    // Customize the chart's color
    switch (type) {
      case 0:
        chartRenderer.setSeriesPaint(0, new Color(50, 170, 20));
        break;
      case 1:
        chartRenderer.setSeriesPaint(0, new Color(200, 30, 20));
        break;
      case 2:
        chartRenderer.setSeriesPaint(0, new Color(13, 92, 166));
        break;
      case 3:
        chartRenderer.setSeriesPaint(0, new Color(255, 205, 50));
        break;
    }
    chartRenderer.setBarPainter(new StandardBarPainter()); // to disable the default 'shiny look'

    // Create the chart panel
    ChartPanel newChartPanel =
        new ChartPanel(newChart, 350, 200, 200, 100, 800, 300, true, true, true, true, true, true);
    newChartPanel.setSize(270, 200);

    return newChartPanel;
  }
示例#4
0
 private void jButton5ActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButton5ActionPerformed
   int newNumChHish;
   try {
     newNumChHish = Integer.parseInt(jTFChNumHist.getText());
     jPHist.removeAll();
     ChartPanel chpanHist = updateHistPanel(dataValues, minValue, maxValue, newNumChHish);
     chpanHist.setSize(jPHist.getSize());
     jPHist.add(chpanHist);
     jPHist.repaint();
   } catch (NumberFormatException ex) {
     CoreErrorMessages.selCorrChNum();
   }
 } // GEN-LAST:event_jButton5ActionPerformed
  public GenericScatterGraph(XYSeries series, String xAxis, String yAxis) {
    super();

    XYDataset xyDataset = new XYSeriesCollection(series);

    JFreeChart chart =
        ChartFactory.createScatterPlot(
            "", // chart title
            xAxis, // x axis label
            yAxis, // y axis label
            null,
            PlotOrientation.VERTICAL,
            false, // include legend
            true, // tooltips
            false // urls
            );

    chart.setBackgroundPaint(Color.darkGray);
    plot = chart.getXYPlot();
    plot.setDataset(0, xyDataset);
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);

    // Shape cross = ShapeUtilities.createDiamond(0.5f);
    Shape cross = ShapeUtilities.createDiagonalCross(0.5f, 0.5f);
    XYItemRenderer renderer = plot.getRenderer();
    renderer.setSeriesPaint(0, new Color(252, 141, 89));
    renderer.setSeriesShape(0, cross);

    ValueAxis domainAxis = plot.getDomainAxis();
    domainAxis.setTickLabelPaint(Color.white);
    domainAxis.setLabelPaint(Color.white);

    ValueAxis rangeAxis = plot.getRangeAxis();
    rangeAxis.setTickLabelPaint(Color.white);
    rangeAxis.setLabelPaint(Color.white);

    chartPanel = new ChartPanel(chart);
    chartPanel.setSize(100, 800);

    setLayout(new BorderLayout());
    add(chartPanel, BorderLayout.CENTER);
    setBackground(Color.black);

    chartPanel.revalidate();
    setVisible(true);
  }