【问题标题】:How to set date on x axis in Line Chart using AchartEngine?如何使用 AchartEngine 在折线图中的 x 轴上设置日期?
【发布时间】:2012-10-05 11:44:48
【问题描述】:

我尝试过在 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 轴上得到奇怪的值。

任何帮助将不胜感激。

【问题讨论】:

  • 我只有 y 值要绘制..

标签: android achartengine linechart


【解决方案1】:

这些是我在代码中所做的基本更改,它对我有用..

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);

【讨论】:

  • 嗨 Mitesh,你能不能给整个活动,我也在做这样的事情(android 新手)。
【解决方案2】:

XYMultipleSeriesRenderer 渲染器 = 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 轴上显示日期不确定,但我认为图表引擎不提供

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 2022-12-18
    相关资源
    最近更新 更多