Search in sources :

Example 1 with KeypointPNGEncoderAdapter

use of org.jfree.chart.encoders.KeypointPNGEncoderAdapter in project Openfire by igniterealtime.

the class GraphEngine method generateSparklinesGraph.

/**
     * Generates a Sparkline type graph. Sparkline graphs
     * are "intense, simple, wordlike graphics" so named by Edward Tufte. The big
     * difference between the graph produced by this method compared to the
     * graph produced by the <code>generateGraph</code> method is that this one
     * produces graphs with no x-axis and no y-axis and is usually smaller in size.
     * @param key
     * @param width
     * @param height
     * @param startTime
     * @param endTime
     * @param dataPoints
     * @return
     * @throws IOException
     */
public byte[] generateSparklinesGraph(String key, int width, int height, String color, long startTime, long endTime, int dataPoints) throws IOException {
    Statistic[] def = statsViewer.getStatistic(key);
    if (def == null) {
        return null;
    }
    JFreeChart chart;
    switch(def[0].getStatType()) {
        case count:
            chart = generateSparklineBarGraph(key, color, def, startTime, endTime, dataPoints);
            break;
        default:
            chart = generateSparklineAreaChart(key, color, def, startTime, endTime, dataPoints);
    }
    KeypointPNGEncoderAdapter encoder = new KeypointPNGEncoderAdapter();
    encoder.setEncodingAlpha(true);
    return encoder.encode(chart.createBufferedImage(width, height, BufferedImage.BITMASK, null));
}
Also used : KeypointPNGEncoderAdapter(org.jfree.chart.encoders.KeypointPNGEncoderAdapter) Statistic(org.jivesoftware.openfire.stats.Statistic) JFreeChart(org.jfree.chart.JFreeChart)

Example 2 with KeypointPNGEncoderAdapter

use of org.jfree.chart.encoders.KeypointPNGEncoderAdapter in project Openfire by igniterealtime.

the class GraphEngine method generateGraph.

/**
     * Creates a graph in PNG format.  The PNG graph is encoded by the KeypointPNGEncoderAdapter
     * so that the resulting PNG is encoded with alpha transparency.
     *
     * @param key
     * @param width
     * @param height
     * @param startTime
     * @param endTime
     * @param dataPoints
     * @return
     * @throws IOException
     */
public byte[] generateGraph(String key, int width, int height, String color, long startTime, long endTime, int dataPoints) throws IOException {
    JFreeChart chart = generateChart(key, width, height, color, startTime, endTime, dataPoints);
    KeypointPNGEncoderAdapter encoder = new KeypointPNGEncoderAdapter();
    encoder.setEncodingAlpha(true);
    return encoder.encode(chart.createBufferedImage(width, height, BufferedImage.BITMASK, null));
}
Also used : KeypointPNGEncoderAdapter(org.jfree.chart.encoders.KeypointPNGEncoderAdapter) JFreeChart(org.jfree.chart.JFreeChart)

Aggregations

JFreeChart (org.jfree.chart.JFreeChart)2 KeypointPNGEncoderAdapter (org.jfree.chart.encoders.KeypointPNGEncoderAdapter)2 Statistic (org.jivesoftware.openfire.stats.Statistic)1