Android的 - achartengine条形图问题 [英] Android - achartengine bar chart issues

查看:259
本文介绍了Android的 - achartengine条形图问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用achartengine绘制图表我在Android应用程序,并有2个问题与条形图。

I use achartengine to draw my chart in an android application and have 2 issues with bar chart.

1:在顶栏值不居中对齐

1: values at top bar doesn't align center

2:巴宽度太小,当图只有1条

2: width of bar too small when just 1 bar in chart

下面我code设置图表

Here my code for setting chart

    GraphicalView mChart;
    // Creating an  XYSeries for Income
    XYSeries incomeSeries = new XYSeries("\n" + note);
    // Adding data to Series
    // Arraylist<String> althongtin include input data (some numbers character, eg: {125, 4356, 50000})
    for(int i=0;i<althongtin.size();i++){
        incomeSeries.add(i, Double.parseDouble(althongtin.get(i)));
    }

    // Creating a dataset to hold each series
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    // Adding Income Series to the dataset
    dataset.addSeries(incomeSeries);
    XYSeriesRenderer incomeRenderer = new XYSeriesRenderer();

    incomeRenderer.setColor(color);
    incomeRenderer.setChartValuesTextSize(20);
    incomeRenderer.setFillPoints(true);
    incomeRenderer.setDisplayChartValues(true);
    incomeRenderer.setChartValuesTextAlign(Paint.Align.CENTER);

    XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();

    multiRenderer.setXLabels(0);
    multiRenderer.setChartTitle(ten);
    multiRenderer.setXTitle(cotx);
    multiRenderer.setYTitle(coty);
    multiRenderer.setYLabelsAlign(Paint.Align.LEFT);
    multiRenderer.setBarSpacing(1);
    multiRenderer.setBarWidth(50);

    multiRenderer.setYAxisMin(0);
    multiRenderer.setYAxisMax(max + (max/10));
    multiRenderer.setXAxisMin(-1);
    multiRenderer.setXAxisMax(althongtin.size() + 1);
    multiRenderer.setLabelsTextSize(15);
    multiRenderer.setLegendTextSize(20);
    multiRenderer.setAxisTitleTextSize(20);
    multiRenderer.setChartTitleTextSize(20);

    multiRenderer.setLabelsColor(Color.BLACK);
    multiRenderer.setAxesColor(Color.BLACK);
    multiRenderer.setApplyBackgroundColor(true);
    multiRenderer.setBackgroundColor(Color.TRANSPARENT);
    multiRenderer.setMarginsColor(Color.argb(0,255,255,255));
    multiRenderer.setXLabelsColor(Color.BLACK);
    multiRenderer.setYLabelsColor(0, Color.BLACK);

    multiRenderer.addSeriesRenderer(incomeRenderer);

    String[] types = new String[] {BarChart.TYPE};

    mChart = (GraphicalView) ChartFactory.getCombinedXYChartView(getBaseContext(), dataset, multiRenderer, types);

    multiRenderer.setClickEnabled(true);
    multiRenderer.setSelectableBuffer(10);

    chartLayout.addView(mChart);

感谢。

更新:第二个问题是由升级固定achartengine 1.2.0。谢谢yoou,丹

Updated: the second issue is fixed by upgrade to achartengine 1.2.0. Thank yoou, Dan.

推荐答案

对于第一个问题,您可能需要升级到1.2.0每晚构建。

For the first issue, you may want to upgrade to the 1.2.0 nightly build.

有关第二个,有: renderer.setBarWidth(widthInPixels); ,因为这是设置栏宽度的解决方案时,有该系列单款产品

For the second one, there is: renderer.setBarWidth(widthInPixels); as this is the solutions to set the bar width when there is one single item in the series.

这篇关于Android的 - achartengine条形图问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆