Codenameone 如何在cn1中制作线图

Codenameone 如何在cn1中制作线图,codenameone,Codenameone,我想做一个折线图,但我几乎不知道如何使用图表API。我已经调整了制作饼图的代码,以便尝试制作折线图。如果有关于如何制作折线图的教程的话,我会非常感谢您的帮助 package userclasses; import com.codename1.charts.ChartComponent; import com.codename1.charts.models.XYMultipleSeriesDataset; import com.codename1.charts.models.XYSeri

我想做一个折线图,但我几乎不知道如何使用图表API。我已经调整了制作饼图的代码,以便尝试制作折线图。如果有关于如何制作折线图的教程的话,我会非常感谢您的帮助

    package userclasses;

import com.codename1.charts.ChartComponent;
import com.codename1.charts.models.XYMultipleSeriesDataset;
import com.codename1.charts.models.XYSeries;
import com.codename1.charts.renderers.XYMultipleSeriesRenderer;
import com.codename1.charts.util.ColorUtil;
import com.codename1.charts.views.LineChart;
import com.codename1.ui.Form;
import com.codename1.ui.layouts.BorderLayout;

/**
 *
 * @author Robin
 */
public class LineGraph1 {
    private XYMultipleSeriesRenderer buildXYMSRenderer(int[] colors) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setMargins(new int[]{20, 30, 15, 0});

        return renderer;
    }

    protected XYMultipleSeriesDataset buildXYMultipleSeriesDataSeries(String title, double[] xValues, double[] yValues) {
        XYMultipleSeriesDataset series = new XYMultipleSeriesDataset();
        int k = 0;
        XYSeries xys = new XYSeries(title);
        for (int i = 0; i < xValues.length; i++) {
            xys.add(xValues[i], yValues[i]);
        }
 {

        }
        series.addSeries(xys);

        return series ;
    }

    public Form createLineChartForm() {

        // Generate the values
        double[] xValues = new double[]{1, 2, 3, 4, 5};
        double[] yValues = new double[]{20,26,31,21,44};


        // Set up the renderer
        int[] colors = new int[]{ColorUtil.BLUE, ColorUtil.GREEN, ColorUtil.MAGENTA, ColorUtil.YELLOW, ColorUtil.CYAN};
        XYMultipleSeriesRenderer renderer = buildXYMSRenderer(colors);
        renderer.setZoomButtonsVisible(true);
        renderer.setZoomEnabled(true);
        renderer.setChartTitleTextSize(20);
        renderer.setDisplayValues(true);
        renderer.setShowLabels(true);
        //SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);

        // Create the chart ... pass the values and renderer to the chart object.


        LineChart chart = new LineChart(buildXYMultipleSeriesDataSeries("Project budget", xValues, yValues), renderer);
        //LineChart chart2 = new LineChart(buildXYMultipleSeriesDataSeries("Project budget", values), new XYMultipleSeriesRenderer());
        // Wrap the chart in a Component so we can add it to a form
        ChartComponent c = new ChartComponent(chart);

        // Create a form and show it.
        Form f = new Form("Graph");
        f.setLayout(new BorderLayout());
        f.addComponent(BorderLayout.CENTER, c);
        return f;
    }
}
包用户类;
导入com.codename1.charts.ChartComponent;
导入com.codename1.charts.models.xymultiplesseriesdataset;
导入com.codename1.charts.models.XYSeries;
导入com.codename1.charts.renders.xymultipleseriesrender;
导入com.codename1.charts.util.ColorUtil;
导入com.codename1.charts.views.LineChart;
导入com.codename1.ui.Form;
导入com.codename1.ui.layouts.BorderLayout;
/**
*
*@作者罗宾
*/
公共类线条图1{
私有XYMultipleReseriesRenderer构建XYMSRenderer(int[]颜色){
XYMultipleReseriesRenderer渲染器=新的XYMultipleReseriesRenderer();
setLabelsTextSize(15);
渲染器。setLegendTextSize(15);
setMargins(新的int[]{20,30,15,0});
返回渲染器;
}
受保护的XYMultipleSeriesDataset构建XYMULTIPLESERIESDATASERIES(字符串标题、双[]xValues、双[]yValues){
XYmultiplesseriesdataset series=新的XYmultiplesseriesdataset();
int k=0;
XY系列xys=新的XY系列(标题);
对于(int i=0;i
我同意图表包的级别很低。我们可能想提供更“用户友好”的服务

我建议在新图表演示中使用略显简化的折线图演示代码:

查看生成此折线图的代码:


你好,谢。非常感谢你的评论。我确实看过这个演示并下载了它,但是在项目中,类说import com.codename1.charts。。。。不存在。如何在演示类中启用charts包?演示源代码应该是最新版本的IDEs,因此您应该能够在3.5+插件的New->Project->Codename One/Demos下看到它。啊,我们开始了!非常感谢你。