Package org.jfree.chart.plot

Examples of org.jfree.chart.plot.MeterPlot


    private ChartPanel panelMeter;
  private Color bgColor;

  public MeterChart(String title) {
    data = new DefaultValueDataset(0.0);
    meterplot = new MeterPlot(data);
    range = new Range(0,20000);
    bgColor = new Color(238,238,230,255);

    meterplot.setRange(range);
    meterplot.setNormalRange(new Range(0,4000));
View Full Code Here


      return true;
    }
   
    if (action.equals(resources.getString("SetSource"))) {
      try {
        MeterPlot plot = (MeterPlot)chart.getPlot();
        SourceMeterDataset dst = (SourceMeterDataset)plot.getDataset();
        dst.setSource((DataSource)o);
        chart.setTitle(dst.getName());
        notifyChange();
      } catch (ClassCastException cce) {
        JSynoptic.setStatus(resources.getString("ErrorWhileSettingDataSource"));
View Full Code Here

  protected JFreeChart createMeterChart() throws JRException
  {
    JRMeterPlot jrPlot = (JRMeterPlot)getPlot();

    // Start by creating the plot that will hold the meter
    MeterPlot chartPlot = new MeterPlot((ValueDataset)getDataset());

    // Set the shape
    MeterShapeEnum shape = jrPlot.getShapeValue() == null ? MeterShapeEnum.PIE : jrPlot.getShapeValue();
    switch (shape)
    {
      case CHORD :
        chartPlot.setDialShape(DialShape.CHORD);
        break;
      case CIRCLE :
        chartPlot.setDialShape(DialShape.CIRCLE);
        break;
      case PIE :
      default :
        chartPlot.setDialShape(DialShape.PIE);
    }

    // Set the meter's range
    chartPlot.setRange(convertRange(jrPlot.getDataRange()));

    // Set the size of the meter
    int meterAngle = jrPlot.getMeterAngleInteger() == null ? 180 : jrPlot.getMeterAngleInteger().intValue();
    chartPlot.setMeterAngle(meterAngle);

    // Set the units - this is just a string that will be shown next to the
    // value
    String units = jrPlot.getUnits();
    if (units != null && units.length() > 0)
    {
      chartPlot.setUnits(units);
    }

    // Set the font used for tick labels
    if(jrPlot.getTickLabelFont() != null)
    {
      chartPlot.setTickLabelFont(JRFontUtil.getAwtFont(jrPlot.getTickLabelFont(), getLocale()));
    }
   
    // Set the spacing between ticks.  I hate the name "tickSize" since to me it
    // implies I am changing the size of the tick, not the spacing between them.
    double tickInterval = jrPlot.getTickIntervalDouble() == null ? 10.0 : jrPlot.getTickIntervalDouble().doubleValue();
    chartPlot.setTickSize(tickInterval);

    // Set all the colors we support
    Color color = jrPlot.getMeterBackgroundColor();
    if (color != null)
    {
      chartPlot.setDialBackgroundPaint(color);
    }

    color = jrPlot.getNeedleColor();
    if (color != null)
    {
      chartPlot.setNeedlePaint(color);
    }

    // Set how the value is displayed.
    JRValueDisplay display = jrPlot.getValueDisplay();
    if (display != null)
    {
      if (display.getColor() != null)
      {
        chartPlot.setValuePaint(display.getColor());
      }

      if (display.getMask() != null)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat(display.getMask()));
      }
      if (display.getFont() != null)
      {
        chartPlot.setValueFont(JRFontUtil.getAwtFont(display.getFont(), getLocale()));
      }

    }

    color = jrPlot.getTickColor();
    if (color != null)
    {
      chartPlot.setTickPaint(color);
    }

    // Now define all of the intervals, setting their range and color
    List intervals = jrPlot.getIntervals();
    if (intervals != null)
    {
      Iterator iter = intervals.iterator();
      while (iter.hasNext())
      {
        JRMeterInterval interval = (JRMeterInterval)iter.next();
        chartPlot.addInterval(convertInterval(interval));
      }
    }

    // Actually create the chart around the plot
    JFreeChart jfreeChart =
View Full Code Here

   *
   */
  protected JFreeChart createMeterChart() throws JRException
  {
    // Start by creating the plot that will hold the meter
    MeterPlot chartPlot = new MeterPlot((ValueDataset)getDataset());
    JRMeterPlot jrPlot = (JRMeterPlot)getPlot();

    // Set the shape
    MeterShapeEnum shape = jrPlot.getShapeValue() == null ? MeterShapeEnum.DIAL : jrPlot.getShapeValue();
   
    switch(shape)
    {
      case CHORD:
        chartPlot.setDialShape(DialShape.CHORD);
        break;
      case PIE:
        chartPlot.setDialShape(DialShape.PIE);
        break;
      case CIRCLE:
        chartPlot.setDialShape(DialShape.CIRCLE);
        break;
      case DIAL:
      default:
        return createDialChart();
    }

    chartPlot.setDialOutlinePaint(Color.BLACK);
    int meterAngle = jrPlot.getMeterAngleInteger() == null ? 180 : jrPlot.getMeterAngleInteger().intValue();
    // Set the size of the meter
    chartPlot.setMeterAngle(meterAngle);

    // Set the spacing between ticks.  I hate the name "tickSize" since to me it
    // implies I am changing the size of the tick, not the spacing between them.
    double tickInterval = jrPlot.getTickIntervalDouble() == null ? 10.0 : jrPlot.getTickIntervalDouble().doubleValue();
    chartPlot.setTickSize(tickInterval);
   
    JRFont tickLabelFont = jrPlot.getTickLabelFont();
    Integer defaultBaseFontSize = (Integer)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.BASEFONT_SIZE);
    Font themeTickLabelFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_TICK_LABEL_FONT), tickLabelFont, defaultBaseFontSize);
    chartPlot.setTickLabelFont(themeTickLabelFont);
   
    Color tickColor = jrPlot.getTickColor() == null ? Color.BLACK : jrPlot.getTickColor();
    chartPlot.setTickPaint(tickColor);
    int dialUnitScale = 1;
    Range range = convertRange(jrPlot.getDataRange());
    if(range != null)
    {
      // Set the meter's range
      chartPlot.setRange(range);
      double bound = Math.max(Math.abs(range.getUpperBound()), Math.abs(range.getLowerBound()));
      dialUnitScale = ChartThemesUtilities.getScale(bound);
      if((range.getLowerBound() == (int)range.getLowerBound() &&
          range.getUpperBound() == (int)range.getUpperBound() &&
          tickInterval == (int)tickInterval) ||
          dialUnitScale > 1
          )
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0"));
      }
      else if(dialUnitScale == 1)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0.0"));
      }
      else if(dialUnitScale <= 0)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0.00"));
      }
    }
    chartPlot.setTickLabelsVisible(true);

    // Set all the colors we support
    Paint backgroundPaint = jrPlot.getOwnBackcolor() == null ? ChartThemesConstants.TRANSPARENT_PAINT : jrPlot.getOwnBackcolor();
    chartPlot.setBackgroundPaint(backgroundPaint);

    GradientPaint gp =
      new GradientPaint(
        new Point(), Color.LIGHT_GRAY,
        new Point(), Color.BLACK,
        false
        );
   
    if(jrPlot.getMeterBackgroundColor() != null)
    {
      chartPlot.setDialBackgroundPaint(jrPlot.getMeterBackgroundColor());
    }
    else
    {
      chartPlot.setDialBackgroundPaint(gp);
    }
    //chartPlot.setForegroundAlpha(1f);
    Paint needlePaint = jrPlot.getNeedleColor() == null ? new Color(191, 48, 0) : jrPlot.getNeedleColor();
    chartPlot.setNeedlePaint(needlePaint);

    JRValueDisplay display = jrPlot.getValueDisplay();
    if(display != null)
    {
      Color valueColor = display.getColor() == null ? Color.BLACK : display.getColor();
      chartPlot.setValuePaint(valueColor);
      String pattern = display.getMask() != null ? display.getMask() : "#,##0.####";
      if(pattern != null)
        chartPlot.setTickLabelFormat( new DecimalFormat(pattern));
      JRFont displayFont = display.getFont();
      Font themeDisplayFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_DISPLAY_FONT), displayFont, defaultBaseFontSize);
 
      if (themeDisplayFont != null)
      {
        chartPlot.setValueFont(themeDisplayFont);
      }
    }
    String label = getChart().hasProperties() ?
        getChart().getPropertiesMap().getProperty(DefaultChartTheme.PROPERTY_DIAL_LABEL) : null;
   
    if(label != null)
    {
      if(dialUnitScale < 0)
        label = new MessageFormat(label).format(new Object[]{String.valueOf(Math.pow(10, dialUnitScale))});
      else if(dialUnitScale < 3)
        label = new MessageFormat(label).format(new Object[]{"1"});
      else
        label = new MessageFormat(label).format(new Object[]{String.valueOf((int)Math.pow(10, dialUnitScale-2))});
   
    }
   
    // Set the units - this is just a string that will be shown next to the
    // value
    String units = jrPlot.getUnits() == null ? label : jrPlot.getUnits();
    if (units != null && units.length() > 0)
      chartPlot.setUnits(units);

    chartPlot.setTickPaint(Color.BLACK);

    // Now define all of the intervals, setting their range and color
    List intervals = jrPlot.getIntervals();
    if (intervals != null  && intervals.size() > 0)
    {
      int size = Math.min(3, intervals.size());
     
      int colorStep = 0;
      if(size > 3)
        colorStep = 255 / (size - 3);
     
      for(int i = 0; i < size; i++)
      {
        JRMeterInterval interval = (JRMeterInterval)intervals.get(i);
        Color color = i < 3
          ? (Color)ChartThemesConstants.AEGEAN_INTERVAL_COLORS.get(i)
          : new Color(255 - colorStep * (i - 3), 0 + colorStep * (i - 3), 0);
       
        interval.setBackgroundColor(color);
        interval.setAlpha(new Double(1.0));
        chartPlot.addInterval(convertInterval(interval));
      }
    }

    // Actually create the chart around the plot
    JFreeChart jfreeChart =
View Full Code Here

   * @throws JRException
  */
  protected JFreeChart createMeterChart() throws JRException
  {
    // Start by creating the plot that will hold the meter
    MeterPlot chartPlot = new MeterPlot((ValueDataset)getDataset());
    JRMeterPlot jrPlot = (JRMeterPlot)getPlot();

    // Set the shape
    MeterShapeEnum shape = jrPlot.getShapeValue() == null ? MeterShapeEnum.PIE : jrPlot.getShapeValue();
   
    switch(shape)
    {
      case CHORD:
        chartPlot.setDialShape(DialShape.CHORD);
        break;
      case CIRCLE:
        chartPlot.setDialShape(DialShape.CIRCLE);
        break;
      case DIAL:
        return createDialChart();
      case PIE:
      default:
        chartPlot.setDialShape(DialShape.PIE);
    }

    // Set the meter's range
    chartPlot.setRange(convertRange(jrPlot.getDataRange()));

    // Set the size of the meter
    int meterAngle = jrPlot.getMeterAngleInteger() == null ? 180 : jrPlot.getMeterAngleInteger().intValue();
    chartPlot.setMeterAngle(meterAngle);

    // Set the units - this is just a string that will be shown next to the
    // value
    String units = jrPlot.getUnits();
    if (units != null && units.length() > 0)
      chartPlot.setUnits(units);

    // Set the spacing between ticks.  I hate the name "tickSize" since to me it
    // implies I am changing the size of the tick, not the spacing between them.
    double tickInterval = jrPlot.getTickIntervalDouble() == null ? 10.0 : jrPlot.getTickIntervalDouble().doubleValue();
    chartPlot.setTickSize(tickInterval);

    // Set all the colors we support
    Color color = jrPlot.getMeterBackgroundColor();
    if (color != null)
      chartPlot.setDialBackgroundPaint(color);

    color = jrPlot.getNeedleColor();
    if (color != null)
      chartPlot.setNeedlePaint(color);

    JRFont tickLabelFont = jrPlot.getTickLabelFont();
    Integer defaultBaseFontSize = (Integer)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.BASEFONT_SIZE);
    Font themeTickLabelFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_TICK_LABEL_FONT), tickLabelFont, defaultBaseFontSize);
    chartPlot.setTickLabelFont(themeTickLabelFont);
   
    JRValueDisplay display = jrPlot.getValueDisplay();
    JRFont displayFont = display.getFont();
    Font themeDisplayFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_DISPLAY_FONT), displayFont, defaultBaseFontSize);
    // Set how the value is displayed.
    if (display != null)
    {
      if (display.getColor() != null)
      {
        chartPlot.setValuePaint(display.getColor());
      }

      if (display.getMask() != null)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat(display.getMask()));
      }
      if (display.getFont() != null)
      {
        chartPlot.setValueFont(themeDisplayFont);
      }

    }

    color = jrPlot.getTickColor();
    if (color != null)
      chartPlot.setTickPaint(color);

    // Now define all of the intervals, setting their range and color
    List intervals = jrPlot.getIntervals();
    if (intervals != null)
    {
      Iterator iter = intervals.iterator();
      while (iter.hasNext())
      {
        JRMeterInterval interval = (JRMeterInterval)iter.next();
        if(interval != null)
          chartPlot.addInterval(convertInterval(interval));
      }
    }

    // Actually create the chart around the plot
    JFreeChart jfreeChart =
View Full Code Here

  protected JFreeChart createMeterChart() throws JRException
  {
    JRMeterPlot jrPlot = (JRMeterPlot)getPlot();

    // Start by creating the plot that will hold the meter
    MeterPlot chartPlot = new MeterPlot((ValueDataset)getDataset());

    // Set the shape
    MeterShapeEnum shape = jrPlot.getShapeValue() == null ? MeterShapeEnum.PIE : jrPlot.getShapeValue();
    if (shape == MeterShapeEnum.CHORD)
      chartPlot.setDialShape(DialShape.CHORD);
    else if (shape == MeterShapeEnum.CIRCLE)
      chartPlot.setDialShape(DialShape.CIRCLE);
    else if (shape == MeterShapeEnum.DIAL)
      return createDialChart();
    else
      chartPlot.setDialShape(DialShape.PIE);

    // Set the meter's range
    chartPlot.setRange(convertRange(jrPlot.getDataRange()));

    // Set the size of the meter
    int meterAngle = jrPlot.getMeterAngleInteger() == null ? 180 : jrPlot.getMeterAngleInteger().intValue();
    chartPlot.setMeterAngle(meterAngle);

    // Set the units - this is just a string that will be shown next to the
    // value
    String units = jrPlot.getUnits();
    if (units != null && units.length() > 0)
      chartPlot.setUnits(units);

    // Set the spacing between ticks.  I hate the name "tickSize" since to me it
    // implies I am changing the size of the tick, not the spacing between them.
    double tickInterval = jrPlot.getTickIntervalDouble() == null ? 10.0 : jrPlot.getTickIntervalDouble().doubleValue();
    chartPlot.setTickSize(tickInterval);

    // Set all the colors we support
    Color color = jrPlot.getMeterBackgroundColor();
    if (color != null)
      chartPlot.setDialBackgroundPaint(color);

    color = jrPlot.getNeedleColor();
    if (color != null)
      chartPlot.setNeedlePaint(color);

    JRBaseFont font = new JRBaseFont();
    JRFontUtil.copyNonNullOwnProperties(getPlotSettings().getTickLabelFont(), font);
    JRFontUtil.copyNonNullOwnProperties(jrPlot.getTickLabelFont(), font);
    font = new JRBaseFont(getChart(), font);
    chartPlot.setTickLabelFont(JRFontUtil.getAwtFont(font, getLocale()));

    // Set how the value is displayed.
    JRValueDisplay display = jrPlot.getValueDisplay();
    if (display != null)
    {
      if (display.getColor() != null)
      {
        chartPlot.setValuePaint(display.getColor());
      }

      if (display.getMask() != null)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat(display.getMask()));
      }
     
      font = new JRBaseFont();
      JRFontUtil.copyNonNullOwnProperties(getPlotSettings().getDisplayFont(), font);
      JRFontUtil.copyNonNullOwnProperties(jrPlot.getValueDisplay().getFont(), font);
      font = new JRBaseFont(getChart(), font);
      chartPlot.setValueFont(JRFontUtil.getAwtFont(font, getLocale()));

    }

    color = jrPlot.getTickColor();
    if (color != null)
      chartPlot.setTickPaint(color);

    // Now define all of the intervals, setting their range and color
    List intervals = jrPlot.getIntervals();
    if (intervals != null)
    {
      Iterator iter = intervals.iterator();
      while (iter.hasNext())
      {
        JRMeterInterval interval = (JRMeterInterval)iter.next();
        if(interval != null)
          chartPlot.addInterval(convertInterval(interval));
      }
    }

    // Actually create the chart around the plot
    JFreeChart jfreeChart =
View Full Code Here

   *
   */
  protected JFreeChart createMeterChart() throws JRException
  {
    // Start by creating the plot that will hold the meter
    MeterPlot chartPlot = new MeterPlot((ValueDataset)getDataset());
    JRMeterPlot jrPlot = (JRMeterPlot)getPlot();

    // Set the shape
    MeterShapeEnum shape = jrPlot.getShapeValue() == null ? MeterShapeEnum.DIAL : jrPlot.getShapeValue();
   
    switch(shape)
    {
      case CHORD:
        chartPlot.setDialShape(DialShape.CHORD);
        break;
      case PIE:
        chartPlot.setDialShape(DialShape.PIE);
        break;
      case CIRCLE:
        chartPlot.setDialShape(DialShape.CIRCLE);
        break;
      case DIAL:
      default:
        return createDialChart();
    }


    chartPlot.setDialOutlinePaint(Color.BLACK);
    int meterAngle = jrPlot.getMeterAngleInteger() == null ? 180 : jrPlot.getMeterAngleInteger().intValue();
    // Set the size of the meter
    chartPlot.setMeterAngle(meterAngle);

    // Set the spacing between ticks.  I hate the name "tickSize" since to me it
    // implies I am changing the size of the tick, not the spacing between them.
    double tickInterval = jrPlot.getTickIntervalDouble() == null ? 10.0 : jrPlot.getTickIntervalDouble().doubleValue();
    chartPlot.setTickSize(tickInterval);
   
    JRFont tickLabelFont = jrPlot.getTickLabelFont();
    Integer defaultBaseFontSize = (Integer)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.BASEFONT_SIZE);
    Font themeTickLabelFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_TICK_LABEL_FONT), tickLabelFont, defaultBaseFontSize);
    chartPlot.setTickLabelFont(themeTickLabelFont);
   
    Color tickColor = jrPlot.getTickColor() == null ? Color.BLACK : jrPlot.getTickColor();
    chartPlot.setTickPaint(tickColor);
    int dialUnitScale = 1;
   
    Range range = convertRange(jrPlot.getDataRange());
    // Set the meter's range
    if(range != null)
    {
      chartPlot.setRange(range);
      double bound = Math.max(Math.abs(range.getUpperBound()), Math.abs(range.getLowerBound()));
      dialUnitScale = ChartThemesUtilities.getScale(bound);
      if((range.getLowerBound() == (int)range.getLowerBound() &&
          range.getUpperBound() == (int)range.getUpperBound() &&
          tickInterval == (int)tickInterval) ||
          dialUnitScale > 1
          )
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0"));
      }
      else if(dialUnitScale == 1)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0.0"));
      }
      else if(dialUnitScale <= 0)
      {
        chartPlot.setTickLabelFormat(new DecimalFormat("#,##0.00"));
      }
    }
    chartPlot.setTickLabelsVisible(true);

    // Set all the colors we support
    Paint backgroundPaint = jrPlot.getOwnBackcolor() == null ? ChartThemesConstants.TRANSPARENT_PAINT : jrPlot.getOwnBackcolor();
    chartPlot.setBackgroundPaint(backgroundPaint);

    GradientPaint gp =
      new GradientPaint(
        new Point(), Color.LIGHT_GRAY,
        new Point(), Color.BLACK,
        false
        );
   
    if(jrPlot.getMeterBackgroundColor() != null)
    {
      chartPlot.setDialBackgroundPaint(jrPlot.getMeterBackgroundColor());
    }
    else
    {
      chartPlot.setDialBackgroundPaint(gp);
    }
    //chartPlot.setForegroundAlpha(1f);
    Paint needlePaint = jrPlot.getNeedleColor() == null ? new Color(191, 48, 0) : jrPlot.getNeedleColor();
    chartPlot.setNeedlePaint(needlePaint);

    JRValueDisplay display = jrPlot.getValueDisplay();
    if(display != null)
    {
      Color valueColor = display.getColor() == null ? Color.BLACK : display.getColor();
      chartPlot.setValuePaint(valueColor);
      String pattern = display.getMask() != null ? display.getMask() : "#,##0.####";
      if(pattern != null)
        chartPlot.setTickLabelFormat( new DecimalFormat(pattern));
      JRFont displayFont = display.getFont();
      Font themeDisplayFont = getFont((JRFont)getDefaultValue(defaultPlotPropertiesMap, ChartThemesConstants.PLOT_DISPLAY_FONT), displayFont, defaultBaseFontSize);
 
      if (themeDisplayFont != null)
      {
        chartPlot.setValueFont(themeDisplayFont);
      }
    }
    String label = getChart().hasProperties() ?
        getChart().getPropertiesMap().getProperty(DefaultChartTheme.PROPERTY_DIAL_LABEL) : null;
   
    if(label != null)
    {
      if(dialUnitScale < 0)
        label = new MessageFormat(label).format(new Object[]{String.valueOf(Math.pow(10, dialUnitScale))});
      else if(dialUnitScale < 3)
        label = new MessageFormat(label).format(new Object[]{"1"});
      else
        label = new MessageFormat(label).format(new Object[]{String.valueOf((int)Math.pow(10, dialUnitScale-2))});
   
    }
   
    // Set the units - this is just a string that will be shown next to the
    // value
    String units = jrPlot.getUnits() == null ? label : jrPlot.getUnits();
    if (units != null && units.length() > 0)
      chartPlot.setUnits(units);

    chartPlot.setTickPaint(Color.BLACK);

    // Now define all of the intervals, setting their range and color
    List intervals = jrPlot.getIntervals();
    if (intervals != null  && intervals.size() > 0)
    {
      int size = Math.min(3, intervals.size());
     
      int colorStep = 0;
      if(size > 3)
        colorStep = 255 / (size - 3);
     
      for(int i = 0; i < size; i++)
      {
        JRMeterInterval interval = (JRMeterInterval)intervals.get(i);
        Color color = i < 3
          ? (Color)ChartThemesConstants.AEGEAN_INTERVAL_COLORS.get(i)
          : new Color(255 - colorStep * (i - 3), 0 + colorStep * (i - 3), 0);
       
        interval.setBackgroundColor(color);
        interval.setAlpha(new Double(1.0));
        chartPlot.addInterval(convertInterval(interval));
      }
    }

    // Actually create the chart around the plot
    JFreeChart jfreeChart =
View Full Code Here

      units = str;
    }

    Plot plot = ((JFreeChart) chart).getPlot();
    if (plot instanceof MeterPlot) {
      MeterPlot mplot = (MeterPlot) plot;
      mplot.setNeedlePaint(needleColor);
      mplot.setValuePaint(valueColor);
      mplot.setDialBackgroundPaint(backgroundColor);
      mplot.setUnits(units);
    }
  }
View Full Code Here

  private JFreeChart createDialChart(ReportChart reportChart,
      ChartValue[] values, boolean displayInline)
  {
    DefaultValueDataset dataset = createDefaultValueDataset(values);

    MeterPlot plot = new MeterPlot(dataset);
    plot.setRange(new Range(0, 60));
    plot.addInterval(new MeterInterval("Normal", new Range(0.0, 35.0),
        Color.lightGray, new BasicStroke(2.0f), new Color(0, 255, 0, 64)));
    plot.addInterval(new MeterInterval("Warning", new Range(35.0, 50.0),
        Color.lightGray, new BasicStroke(2.0f), new Color(255, 255, 0, 64)));
    plot.addInterval(new MeterInterval("Critical", new Range(50.0, 60.0),
        Color.lightGray, new BasicStroke(2.0f), new Color(255, 0, 0, 128)));
    plot.setNeedlePaint(Color.darkGray);
    plot.setDialBackgroundPaint(Color.white);
    plot.setDialOutlinePaint(Color.gray);
    plot.setDialShape(DialShape.CHORD);
    plot.setMeterAngle(260);
    plot.setTickLabelsVisible(true);
    plot.setTickLabelFont(new Font("Dialog", Font.BOLD, 10));
    plot.setTickLabelPaint(Color.darkGray);
    plot.setTickSize(5.0);
    plot.setTickPaint(Color.lightGray);
    plot.setValuePaint(Color.black);
    plot.setValueFont(new Font("Dialog", Font.BOLD, 14));

    JFreeChart chart = new JFreeChart(reportChart.getTitle(),
        JFreeChart.DEFAULT_TITLE_FONT, plot, reportChart.isShowLegend());

    return chart;
View Full Code Here

    private ChartPanel panelMeter;
  private Color bgColor;

  public MeterChart(String title) {
    data = new DefaultValueDataset(0.0);
    meterplot = new MeterPlot(data);
    range = new Range(0,20000);
    bgColor = new Color(238,238,230,255);

    meterplot.setRange(range);
    meterplot.setNormalRange(new Range(0,4000));
View Full Code Here

TOP

Related Classes of org.jfree.chart.plot.MeterPlot

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.