I am using achartengine, to plot a line graph. I am trying to customize it to have Y axis lines which pass through the values, and show the values on top. Does any one have any idea, how can I achieve an effect like this one :

enter image description here

Here is what I currently have :

enter image description here

And here is the code Snippet :

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    dataset.addSeries(series);

    XYSeriesRenderer renderer = new XYSeriesRenderer();
    renderer.setPointStyle(PointStyle.CIRCLE);
    renderer.setFillPoints(true);
    renderer.setColor(Color.WHITE);
    renderer.setLineWidth(2f);

    XYMultipleSeriesRenderer seriesRenderer = new XYMultipleSeriesRenderer();
    seriesRenderer.addSeriesRenderer(renderer);
    seriesRenderer.setLabelsTextSize(20); // Text size
    seriesRenderer.setShowAxes(true); // show both axes
    seriesRenderer.setShowLegend(false);
    seriesRenderer.setShowGridX(true); // X grid helps identify values
    seriesRenderer.setShowLabels(true); // See the values
    seriesRenderer.setYLabelsAlign(Align.RIGHT); 
    seriesRenderer.setZoomButtonsVisible(false); // bye bye zoom

    seriesRenderer.setXAxisMin(0);
    seriesRenderer.setXAxisMax(10);

    seriesRenderer.setTextTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/Lifestyle Rounded M54.ttf"));
    seriesRenderer.setPointSize(10f);
    seriesRenderer.setPanEnabled(true, false);

    View view = ChartFactory.getLineChartView(context, dataset, seriesRenderer);

    return view;

Any input will be highly appreciated.

有帮助吗?

解决方案

You can add annotation that can be displayed wherever you need on the graph:

series.addAnnotation(text, x, y);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top