Class ChartUtils


  • public abstract class ChartUtils
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      ChartUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void applyCurrentTheme​(JFreeChart chart)
      Applies the current theme to the specified chart.
      static byte[] encodeAsPNG​(java.awt.image.BufferedImage image)
      Encodes a BufferedImage to PNG format.
      static byte[] encodeAsPNG​(java.awt.image.BufferedImage image, boolean encodeAlpha, int compression)
      Encodes a BufferedImage to PNG format.
      static java.lang.String getImageMap​(java.lang.String name, ChartRenderingInfo info)
      Creates an HTML image map.
      static java.lang.String getImageMap​(java.lang.String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator)
      Creates an HTML image map.
      static void saveChartAsJPEG​(java.io.File file, float quality, JFreeChart chart, int width, int height)
      Saves a chart to a file in JPEG format.
      static void saveChartAsJPEG​(java.io.File file, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Saves a chart to a file in JPEG format.
      static void saveChartAsJPEG​(java.io.File file, JFreeChart chart, int width, int height)
      Saves a chart to a file in JPEG format.
      static void saveChartAsJPEG​(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Saves a chart to a file in JPEG format.
      static void saveChartAsPNG​(java.io.File file, JFreeChart chart, int width, int height)
      Saves a chart to the specified file in PNG format.
      static void saveChartAsPNG​(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Saves a chart to a file in PNG format.
      static void saveChartAsPNG​(java.io.File file, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression)
      Saves a chart to a file in PNG format.
      static void writeBufferedImageAsJPEG​(java.io.OutputStream out, float quality, java.awt.image.BufferedImage image)
      Writes a BufferedImage to an output stream in JPEG format.
      static void writeBufferedImageAsJPEG​(java.io.OutputStream out, java.awt.image.BufferedImage image)
      Writes a BufferedImage to an output stream in JPEG format.
      static void writeBufferedImageAsPNG​(java.io.OutputStream out, java.awt.image.BufferedImage image)
      Writes a BufferedImage to an output stream in PNG format.
      static void writeBufferedImageAsPNG​(java.io.OutputStream out, java.awt.image.BufferedImage image, boolean encodeAlpha, int compression)
      Writes a BufferedImage to an output stream in PNG format.
      static void writeChartAsJPEG​(java.io.OutputStream out, float quality, JFreeChart chart, int width, int height)
      Writes a chart to an output stream in JPEG format.
      static void writeChartAsJPEG​(java.io.OutputStream out, float quality, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Writes a chart to an output stream in JPEG format.
      static void writeChartAsJPEG​(java.io.OutputStream out, JFreeChart chart, int width, int height)
      Writes a chart to an output stream in JPEG format.
      static void writeChartAsJPEG​(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Writes a chart to an output stream in JPEG format.
      static void writeChartAsPNG​(java.io.OutputStream out, JFreeChart chart, int width, int height)
      Writes a chart to an output stream in PNG format.
      static void writeChartAsPNG​(java.io.OutputStream out, JFreeChart chart, int width, int height, boolean encodeAlpha, int compression)
      Writes a chart to an output stream in PNG format.
      static void writeChartAsPNG​(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info)
      Writes a chart to an output stream in PNG format.
      static void writeChartAsPNG​(java.io.OutputStream out, JFreeChart chart, int width, int height, ChartRenderingInfo info, boolean encodeAlpha, int compression)
      Writes a chart to an output stream in PNG format.
      static void writeImageMap​(java.io.PrintWriter writer, java.lang.String name, ChartRenderingInfo info, boolean useOverLibForToolTips)
      Writes an image map to an output stream.
      static void writeImageMap​(java.io.PrintWriter writer, java.lang.String name, ChartRenderingInfo info, ToolTipTagFragmentGenerator toolTipTagFragmentGenerator, URLTagFragmentGenerator urlTagFragmentGenerator)
      Writes an image map to the specified writer.
      static void writeScaledChartAsPNG​(java.io.OutputStream out, JFreeChart chart, int width, int height, int widthScaleFactor, int heightScaleFactor)
      Writes a scaled version of a chart to an output stream in PNG format.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ChartUtils

        public ChartUtils()
    • Method Detail

      • 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​(java.io.OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(java.io.OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           boolean encodeAlpha,
                                           int compression)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(java.io.OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsPNG

        public static void writeChartAsPNG​(java.io.OutputStream out,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info,
                                           boolean encodeAlpha,
                                           int compression)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeScaledChartAsPNG

        public static void writeScaledChartAsPNG​(java.io.OutputStream out,
                                                 JFreeChart chart,
                                                 int width,
                                                 int height,
                                                 int widthScaleFactor,
                                                 int heightScaleFactor)
                                          throws java.io.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:
        java.io.IOException - if there are any I/O problems.
      • saveChartAsPNG

        public static void saveChartAsPNG​(java.io.File file,
                                          JFreeChart chart,
                                          int width,
                                          int height)
                                   throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsPNG

        public static void saveChartAsPNG​(java.io.File file,
                                          JFreeChart chart,
                                          int width,
                                          int height,
                                          ChartRenderingInfo info)
                                   throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsPNG

        public static void saveChartAsPNG​(java.io.File file,
                                          JFreeChart chart,
                                          int width,
                                          int height,
                                          ChartRenderingInfo info,
                                          boolean encodeAlpha,
                                          int compression)
                                   throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(java.io.OutputStream out,
                                            JFreeChart chart,
                                            int width,
                                            int height)
                                     throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(java.io.OutputStream out,
                                            float quality,
                                            JFreeChart chart,
                                            int width,
                                            int height)
                                     throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(java.io.OutputStream out,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info)
                                     throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeChartAsJPEG

        public static void writeChartAsJPEG​(java.io.OutputStream out,
                                            float quality,
                                            JFreeChart chart,
                                            int width,
                                            int height,
                                            ChartRenderingInfo info)
                                     throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(java.io.File file,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(java.io.File file,
                                           float quality,
                                           JFreeChart chart,
                                           int width,
                                           int height)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(java.io.File file,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • saveChartAsJPEG

        public static void saveChartAsJPEG​(java.io.File file,
                                           float quality,
                                           JFreeChart chart,
                                           int width,
                                           int height,
                                           ChartRenderingInfo info)
                                    throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeBufferedImageAsJPEG

        public static void writeBufferedImageAsJPEG​(java.io.OutputStream out,
                                                    java.awt.image.BufferedImage image)
                                             throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeBufferedImageAsJPEG

        public static void writeBufferedImageAsJPEG​(java.io.OutputStream out,
                                                    float quality,
                                                    java.awt.image.BufferedImage image)
                                             throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeBufferedImageAsPNG

        public static void writeBufferedImageAsPNG​(java.io.OutputStream out,
                                                   java.awt.image.BufferedImage image)
                                            throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeBufferedImageAsPNG

        public static void writeBufferedImageAsPNG​(java.io.OutputStream out,
                                                   java.awt.image.BufferedImage image,
                                                   boolean encodeAlpha,
                                                   int compression)
                                            throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • encodeAsPNG

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

        public static byte[] encodeAsPNG​(java.awt.image.BufferedImage image,
                                         boolean encodeAlpha,
                                         int compression)
                                  throws java.io.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:
        java.io.IOException - if there is an I/O problem.
      • writeImageMap

        public static void writeImageMap​(java.io.PrintWriter writer,
                                         java.lang.String name,
                                         ChartRenderingInfo info,
                                         boolean useOverLibForToolTips)
                                  throws java.io.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:
        java.io.IOException - if there are any I/O errors.
      • writeImageMap

        public static void writeImageMap​(java.io.PrintWriter writer,
                                         java.lang.String name,
                                         ChartRenderingInfo info,
                                         ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
                                         URLTagFragmentGenerator urlTagFragmentGenerator)
                                  throws java.io.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:
        java.io.IOException - if there are any I/O errors.