Class ChartUtils

java.lang.Object
org.jfree.chart.ChartUtils

public abstract class ChartUtils
extends Object
A collection of utility methods for JFreeChart. Includes methods for converting charts to image formats (PNG and JPEG) plus creating simple HTML image maps.
See Also:
ImageMapUtils
  • Constructor Details

  • Method Details

    • applyCurrentTheme

      public static void applyCurrentTheme​(JFreeChart chart)
      Applies the current theme to the specified chart. This method is provided for convenience, the theme itself is stored in the ChartFactory class.
      Parameters:
      chart - the chart (null not permitted).
    • writeChartAsPNG

      public static void writeChartAsPNG​(OutputStream out, JFreeChart chart, int width, int height) throws IOException
      Writes a chart to an output stream in PNG format.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsPNG

      public static void writeChartAsPNG​(OutputStream out, JFreeChart chart, int width, int height, boolean encodeAlpha, int compression) throws IOException
      Writes a chart to an output stream in PNG format.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      encodeAlpha - encode alpha?
      compression - the compression level (0-9).
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsPNG

      public static void writeChartAsPNG​(OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Writes a chart to an output stream in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsPNG

      public static void writeChartAsPNG​(OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression) throws IOException
      Writes a chart to an output stream in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - carries back chart rendering info (null permitted).
      encodeAlpha - encode alpha?
      compression - the PNG compression level (0-9).
      Throws:
      IOException - if there are any I/O errors.
    • writeScaledChartAsPNG

      public static void writeScaledChartAsPNG​(OutputStream out, JFreeChart chart, int width, int height, int widthScaleFactor, int heightScaleFactor) throws IOException
      Writes a scaled version of a chart to an output stream in PNG format.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the unscaled chart width.
      height - the unscaled chart height.
      widthScaleFactor - the horizontal scale factor.
      heightScaleFactor - the vertical scale factor.
      Throws:
      IOException - if there are any I/O problems.
    • saveChartAsPNG

      public static void saveChartAsPNG​(File file, JFreeChart chart, int width, int height) throws IOException
      Saves a chart to the specified file in PNG format.
      Parameters:
      file - the file name (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsPNG

      public static void saveChartAsPNG​(File file, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Saves a chart to a file in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      file - the file (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsPNG

      public static void saveChartAsPNG​(File file, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression) throws IOException
      Saves a chart to a file in PNG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      file - the file (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      encodeAlpha - encode alpha?
      compression - the PNG compression level (0-9).
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsJPEG

      public static void writeChartAsJPEG​(OutputStream out, JFreeChart chart, int width, int height) throws IOException
      Writes a chart to an output stream in JPEG format. Please note that JPEG is a poor format for chart images, use PNG if possible.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsJPEG

      public static void writeChartAsJPEG​(OutputStream out, float quality, JFreeChart chart, int width, int height) throws IOException
      Writes a chart to an output stream in JPEG format. Please note that JPEG is a poor format for chart images, use PNG if possible.
      Parameters:
      out - the output stream (null not permitted).
      quality - the quality setting.
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsJPEG

      public static void writeChartAsJPEG​(OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Writes a chart to an output stream in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      out - the output stream (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeChartAsJPEG

      public static void writeChartAsJPEG​(OutputStream out, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Writes a chart to an output stream in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      out - the output stream (null not permitted).
      quality - the output quality (0.0f to 1.0f).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsJPEG

      public static void saveChartAsJPEG​(File file, JFreeChart chart, int width, int height) throws IOException
      Saves a chart to a file in JPEG format.
      Parameters:
      file - the file (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsJPEG

      public static void saveChartAsJPEG​(File file, float quality, JFreeChart chart, int width, int height) throws IOException
      Saves a chart to a file in JPEG format.
      Parameters:
      file - the file (null not permitted).
      quality - the JPEG quality setting.
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsJPEG

      public static void saveChartAsJPEG​(File file, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Saves a chart to a file in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      file - the file name (null not permitted).
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • saveChartAsJPEG

      public static void saveChartAsJPEG​(File file, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info) throws IOException
      Saves a chart to a file in JPEG format. This method allows you to pass in a ChartRenderingInfo object, to collect information about the chart dimensions/entities. You will need this info if you want to create an HTML image map.
      Parameters:
      file - the file name (null not permitted).
      quality - the quality setting.
      chart - the chart (null not permitted).
      width - the image width.
      height - the image height.
      info - the chart rendering info (null permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeBufferedImageAsJPEG

      public static void writeBufferedImageAsJPEG​(OutputStream out, BufferedImage image) throws IOException
      Writes a BufferedImage to an output stream in JPEG format.
      Parameters:
      out - the output stream (null not permitted).
      image - the image (null not permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeBufferedImageAsJPEG

      public static void writeBufferedImageAsJPEG​(OutputStream out, float quality, BufferedImage image) throws IOException
      Writes a BufferedImage to an output stream in JPEG format.
      Parameters:
      out - the output stream (null not permitted).
      quality - the image quality (0.0f to 1.0f).
      image - the image (null not permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeBufferedImageAsPNG

      public static void writeBufferedImageAsPNG​(OutputStream out, BufferedImage image) throws IOException
      Writes a BufferedImage to an output stream in PNG format.
      Parameters:
      out - the output stream (null not permitted).
      image - the image (null not permitted).
      Throws:
      IOException - if there are any I/O errors.
    • writeBufferedImageAsPNG

      public static void writeBufferedImageAsPNG​(OutputStream out, BufferedImage image, boolean encodeAlpha, int compression) throws IOException
      Writes a BufferedImage to an output stream in PNG format.
      Parameters:
      out - the output stream (null not permitted).
      image - the image (null not permitted).
      encodeAlpha - encode alpha?
      compression - the compression level (0-9).
      Throws:
      IOException - if there are any I/O errors.
    • encodeAsPNG

      public static byte[] encodeAsPNG​(BufferedImage image) throws IOException
      Encodes a BufferedImage to PNG format.
      Parameters:
      image - the image (null not permitted).
      Returns:
      A byte array in PNG format.
      Throws:
      IOException - if there is an I/O problem.
    • encodeAsPNG

      public static byte[] encodeAsPNG​(BufferedImage image, boolean encodeAlpha, int compression) throws IOException
      Encodes a BufferedImage to PNG format.
      Parameters:
      image - the image (null not permitted).
      encodeAlpha - encode alpha?
      compression - the PNG compression level (0-9).
      Returns:
      The byte array in PNG format.
      Throws:
      IOException - if there is an I/O problem.
    • writeImageMap

      public static void writeImageMap​(PrintWriter writer, String name, ChartRenderingInfo info, boolean useOverLibForToolTips) throws IOException
      Writes an image map to an output stream.
      Parameters:
      writer - the writer (null not permitted).
      name - the map name (null not permitted).
      info - the chart rendering info (null not permitted).
      useOverLibForToolTips - whether to use OverLIB for tooltips (http://www.bosrup.com/web/overlib/).
      Throws:
      IOException - if there are any I/O errors.
    • writeImageMap

      public static void writeImageMap​(PrintWriter writer, String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator) throws IOException
      Writes an image map to the specified writer.
      Parameters:
      writer - the writer (null not permitted).
      name - the map name (null not permitted).
      info - the chart rendering info (null not permitted).
      toolTipTagFragmentGenerator - a generator for the HTML fragment that will contain the tooltip text (null not permitted if info contains tooltip information).
      urlTagFragmentGenerator - a generator for the HTML fragment that will contain the URL reference (null not permitted if info contains URLs).
      Throws:
      IOException - if there are any I/O errors.
    • getImageMap

      public static String getImageMap​(String name, ChartRenderingInfo info)
      Creates an HTML image map. This method maps to ImageMapUtils.getImageMap(String, ChartRenderingInfo, ToolTipTagFragmentGenerator, URLTagFragmentGenerator), using default generators.
      Parameters:
      name - the map name (null not permitted).
      info - the chart rendering info (null not permitted).
      Returns:
      The map tag.
    • getImageMap

      public static String getImageMap​(String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator)
      Parameters:
      name - the map name (null not permitted).
      info - the chart rendering info (null not permitted).
      toolTipTagFragmentGenerator - a generator for the HTML fragment that will contain the tooltip text (null not permitted if info contains tooltip information).
      urlTagFragmentGenerator - a generator for the HTML fragment that will contain the URL reference (null not permitted if info contains URLs).
      Returns:
      The map tag.