I am new to this JFreeChart,i am facing a problem with Timeseries.Itried to Modify TimeSeries Demo3.
TimeSeries timeseries = new TimeSeries("Series 1", org.jfree.data.time.Day.class);
timeseries.add(new Day(1,1, 2002), 99.68D);
timeseries.add(new Day(2,1, 2002), 97.89D);
timeseries.add(new Day(3,1, 2002), 99.99D);
timeseries.add(new Day(4,1, 2002), 88.00D);
timeseries.add(new Day(5,1, 2002), 98.00D);
but i am not getting all the 5 dates on X-axis,i am getting only first date.And i am not going to use the regular date intervals .plz help me
thanks in advance
chowdary
Code: Select all
package demo;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickUnit;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.StandardXYItemRenderer;
import org.jfree.data.time.*;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class TimeSeriesDemo3 extends ApplicationFrame
{
public TimeSeriesDemo3(String s)
{
super(s);
XYDataset xydataset = createDataset();
JFreeChart jfreechart = createChart(xydataset);
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartpanel);
}
private static XYDataset createDataset()
{
TimeSeries timeseries = new TimeSeries("Series 1", org.jfree.data.time.Day.class);
timeseries.add(new Day(1,1, 2002), 99.68D);
timeseries.add(new Day(2,1, 2002), 97.89D);
timeseries.add(new Day(3,1, 2002), 99.99D);
timeseries.add(new Day(4,1, 2002), 88.00D);
timeseries.add(new Day(5,1, 2002), 98.00D);
TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
timeseriescollection.addSeries(timeseries);
return timeseriescollection;
}
private static JFreeChart createChart(XYDataset xydataset)
{
JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Time Series Demo 3", "Time", "Value", xydataset, true, true, false);
XYPlot xyplot = jfreechart.getXYPlot();
DateAxis dateaxis = (DateAxis)xyplot.getDomainAxis();
dateaxis.setTickUnit(new DateTickUnit(1, 1, new SimpleDateFormat("MMM-yyyy")));
dateaxis.setVerticalTickLabels(true);
StandardXYItemRenderer standardxyitemrenderer = (StandardXYItemRenderer)xyplot.getRenderer();
standardxyitemrenderer.setPlotShapes(true);
standardxyitemrenderer.setSeriesShapesFilled(0, Boolean.TRUE);
standardxyitemrenderer.setSeriesShapesFilled(1, Boolean.FALSE);
return jfreechart;
}
public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
}
public static String getDemoDescription()
{
return "A simple time series chart.";
}
public static void main(String args[])
{
TimeSeriesDemo3 timeseriesdemo3 = new TimeSeriesDemo3("Time Series Demo 3");
timeseriesdemo3.pack();
RefineryUtilities.centerFrameOnScreen(timeseriesdemo3);
timeseriesdemo3.setVisible(true);
}
}