3

SOに投稿されたさまざまなリンクを試しましたが、信頼できる答えが得られませんでした。

これが私のコードです:

 TimeSeries series = new TimeSeries("Burned Calories");

    for (int i = 0; i < x_axis.size(); i++) {

            String date = x_axis.get(i);

            int y = Integer.parseInt(y_axis.get(i));

            Date d;

            try {

                    d = df.parse(date);

                    series.add(d, y);

            } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }

      XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

      dataset.addSeries(series);

XYSeriesRenderer render = new XYSeriesRenderer();
    render.setColor(Color.GREEN);
render.setPointStyle(PointStyle.SQUARE);
render.setFillPoints(true);

      XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
  renderer.addSeriesRenderer(render);

        renderer.setChartTitle("Line Chart");
    renderer.setAxesColor(Color.BLUE);
    renderer.setGridColor(Color.WHITE);

    renderer.setShowGrid(true);
    renderer.setShowAxes(true);
    renderer.setShowGridX(true);
    renderer.setShowGridY(true);
    renderer.setShowLabels(true);
    renderer.setPanEnabled(true, true);
    renderer.setFitLegend(true);
    renderer.setXTitle("Date");
    renderer.setAxisTitleTextSize(15);
    renderer.setXLabelsAlign(Align.CENTER);
    renderer.setYTitle("Values");

    chart = ChartFactory.getLineChartView(this, dataset, renderer);

x 軸に奇妙な値が表示されます。

任意のヘルプをいただければ幸いです。 ここに画像の説明を入力

4

2 に答える 2

3

これらは私が自分のコードで行った基本的な変更であり、私にとってはうまくいきました..

TimeSeries series2 = new TimeSeries("Protein");

            for (int i = 0; i < x_axis.size(); i++) {

                int y = Integer.parseInt(y1_axis.get(i));

                // Adding y as protein value
                series2.add(i + 1, y);

            }


    for (int i = 0; i < x_axis.size(); i++) {
        renderer.addXTextLabel(i + 1, x_axis.get(i));
    }

    renderer.setXLabels(0);

ここに画像の説明を入力

于 2012-10-06T12:15:35.723 に答える
2

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

その後、以下のコードを追加します...要件に従って下の図を設定します...

            String MainTitle = "Graph";
            String XTitle = "Date";
            String YTitle = "Values";
            float minValueX = 0.0f;
            float maxValueX = 30.00f;
            float minValueY = 0f;
            float maxValueY = 50f;



setChartSettings(renderer, MainTitle, XTitle, YTitle, minValueX,
                        maxValueX, minValueY, maxValueY, Color.BLACK, Color.BLACK);


protected void setChartSettings(XYMultipleSeriesRenderer renderer,
                String title, String xTitle, String yTitle, double xMin,
                double xMax, double yMin, double yMax, int axesColor,
                int labelsColor) {
            renderer.setChartTitle(title);
            renderer.setXTitle(xTitle);
            renderer.setYTitle(yTitle);
            renderer.setXAxisMin(xMin);
            renderer.setXAxisMax(xMax);
            renderer.setYAxisMin(yMin);
            renderer.setYAxisMax(yMax);
            renderer.setAxesColor(axesColor);
            renderer.setLabelsColor(labelsColor);
        }

Chartengineでは、日付または月のみの数値を表示するため、数値を設定してラベルの日付を設定します... x軸に日付を表​​示するかどうかはわかりませんが、チャートエンジンによって提供されていないと思います

于 2012-10-06T05:33:20.133 に答える