LogarithmicAxis assistance - blew away the test code :(

A discussion forum for JFreeChart (a 2D chart library for the Java platform).
Locked
Guest

LogarithmicAxis assistance - blew away the test code :(

Post by Guest » Wed Nov 10, 2004 11:37 pm

Hello all-

First time poster but I did buy the docs.

I wrote some test code to do a Logarithmic Axis on the Y-Axis... and then blew it away in clearcase. For the life of me I have not been able to duplicate however I did it, and I haven't found my references to try.

Can anyone point me in the right direction? This is driving me insane.

Thanks in advance,

Jason Hirsch

Code: Select all

/*
 * tstJFreeChartLuminance.java
 *
 * Created on November 10, 2004, 1:45 PM
 */

/**
 *
 * @author  l471769
 */

import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import org.jfree.data.*;
import java.awt.Color;
import java.io.*; 
import org.jfree.chart.resources.JFreeChartResources;

    
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

/**
* A simple test.
*/

public class tstJFreeChartLuminance extends ApplicationFrame {

    /**
     * Constructs the demo application.
     *
     * @param title  the frame title.
     */
    public tstJFreeChartLuminance(String title) {

        super(title);
        XYDataset dataset = createDataset();
        JFreeChart chart = createChart(dataset);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 300));
           
        setContentPane(chartPanel);

    }
   
    private XYDataset createDataset() {
        XYSeriesCollection dataset = new XYSeriesCollection();
        XYSeries series = new XYSeries("Series 1");

        series.add(0,    0.09);
        series.add(16,   0.23);
        series.add(32,   0.52);
        series.add(48,   1.00);
        series.add(64,   1.68);
        series.add(80,   2.59);
        series.add(96,   3.73);
        series.add(112,  5.14);
        series.add(128,  6.83);
        series.add(144,  8.79);
        series.add(160,  11.0);
        series.add(176,  13.6);
        series.add(192,  16.4);
        series.add(208,  19.6);
        series.add(224,  23.0);
        series.add(240,  26.8);
        series.add(255,  30.6);
        
        dataset.addSeries(series);
        return dataset;
    }
   
    /**
     * Creates a new chart.
     *
     * @param dataset  the dataset.
     *
     * @return The chart.
     */
    private JFreeChart createChart(XYDataset dataset) {
   
        JFreeChart chart = ChartFactory.createXYLineChart(
            "XY Line Chart Test", // chart title
            "X", // x axis label
            "Y", // y axis label
            dataset, // data
            PlotOrientation.HORIZONTAL,
            true, // include legend
            true, // tooltips
            false // urls
        );
        
        //chart.getXYPlot().setRangeAxis(
        return chart;
    }
   
    /**
     * Starting point for the demonstration application.
     *
     * @param args  ignored.
     */
    public static void main(String[] args) {

        tstJFreeChartLuminance demo = new tstJFreeChartLuminance("XY Line Chart Test");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);

    }

 }

purduephotog
Posts: 17
Joined: Wed Nov 10, 2004 11:29 pm

That should be from me :(

Post by purduephotog » Wed Nov 10, 2004 11:38 pm

Oops, didn't realize I wasn't logged in.

xiaoqiao
Posts: 6
Joined: Wed Nov 10, 2004 8:32 am
Contact:

Post by xiaoqiao » Thu Nov 11, 2004 4:35 am

hello,do u want this?

Code: Select all

    private JFreeChart createChart(XYDataset dataset) {

        JFreeChart chart = ChartFactory.createXYLineChart(
            "XY Line Chart Test", // chart title
            "X", // x axis label
            "Y", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL,
            true, // include legend
            true, // tooltips
            false // urls
        );
        NumberAxis rangeAxis=new LogarithmicAxis("Y");
        XYPlot plot=(XYPlot)chart.getPlot();
        plot.setRangeAxis(rangeAxis);

        //chart.getXYPlot().setRangeAxis(
        return chart;
    }

purduephotog
Posts: 17
Joined: Wed Nov 10, 2004 11:29 pm

Ahhhh. Thats the spot!

Post by purduephotog » Thu Nov 11, 2004 2:39 pm

Perfect. Sigh. So easy yet so very far away from what I was trying.

I blame my coworkers - they never stop talking ;)

Thanks very much!

Jason

Locked