I am using this code to generate an XYChart but the line always goes down to the origin and then continues following the points. How can I prevent this?
import java.awt.Color; import java.awt.BasicStroke; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries;import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.ChartFactory; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.xy.XYSeriesCollection; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
public class Graph extends ApplicationFrame {
static MenuCode mc = new MenuCode();
public static void main(String args []) {
Graph chart = new Graph(mc.eq,mc.eq);
chart.pack();
RefineryUtilities.centerFrameOnScreen(chart);
chart.setVisible(true);
}
private XYDataset createDataset() {
final XYSeries equation1 = new XYSeries(mc.eq);
for (short i = 0; i<200; i++){
equation1.add(mc.x[i] , mc.y[i]);
}
//for (short i = 0; i<200; i++){
//equation2.add(mc.x[i] , mc.y[i]);
//}
final XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(equation1);
//dataset.addSeries(eq2);
return dataset;
}
public Graph( String applicationTitle, String chartTitle ) {
super(applicationTitle);
JFreeChart xylineChart = ChartFactory.createXYLineChart(chartTitle, "X", "Y", createDataset(), PlotOrientation.VERTICAL ,true , true , false);
ChartPanel chartPanel = new ChartPanel(xylineChart);
chartPanel.setPreferredSize(new java.awt.Dimension(2560 , 1600));
final XYPlot plot = xylineChart.getXYPlot();
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesPaint(0, Color.RED);
renderer.setSeriesStroke(0, new BasicStroke(3.0f));
//renderer.setSeriesPaint(1 , Color.GREEN);
//renderer.setSeriesStroke(1, new BasicStroke(3.0f));
plot.setRenderer(renderer);
setContentPane(chartPanel);
}
}
The x-axis and y-axis points are taken from an array in another class.
Screenshot: