【发布时间】:2021-12-06 07:38:30
【问题描述】:
我正在使用此代码生成 XYChart,但该线始终下降到原点,然后继续跟随点。我怎样才能防止这种情况发生?
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);
}
}
x 轴和 y 轴点取自另一个类中的数组。 截图:
【问题讨论】:
-
您可以添加结果图表的屏幕截图吗?
-
更正您的数据。
-
它就是这样 - 改变方程式以适应您的期望或数据。
-
我们能看到MenuCode类的代码,特别是x和y函数吗
标签: java jfreechart