-2

私は aChartEngine を使用してグラフ チャートに取り組んでいます。直面している問題は、グラフが生成されているにもかかわらず、ビュー内で必要に応じてグラフが表示されないことです。修正方法は??

ドロップダウンからバーを選択する場合 ズーム前

ズームアウトおよびパンニング後 (グラフの操作による) ここに画像の説明を入力

これが私のコードです

private static XYMultipleSeriesDataset getBarDataset(int rightAnswers, int wrongAnswers) 
{
         String[] labels={"right","wrong"};
          List<Double> values = new ArrayList<Double>();
            values.add((double) rightAnswers);
            values.add((double) wrongAnswers);
            XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
            for (int i = 0; i < titles.length; i++) 
            {
                XYSeries series = new XYSeries(titles[i]);
                series.add(i,values.get(i));
                dataset.addSeries(i,series);
            }
            return dataset;
}

2)レンダラー

protected static XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        renderer.addXTextLabel(0, "right");
        renderer.addXTextLabel(1, "wrong");
        renderer.setChartTitle("Results");

        int length = colors.length;
          SimpleSeriesRenderer r = new SimpleSeriesRenderer();
          r.setColor(colors[0]);
          renderer.addSeriesRenderer(r);
          r = new SimpleSeriesRenderer();
          r.setColor(colors[1]);
          renderer.addSeriesRenderer(r);
          renderer.setScale(10);
          renderer.setXLabels(0);
          renderer.setApplyBackgroundColor(true);
          renderer.setBackgroundColor(Color.WHITE);
          renderer.setAxesColor(Color.CYAN);
        renderer.setBarWidth(30);
        return renderer;
      }

3) ビュー

ChartFactory.getBarChartView(context, getBarDataset(rightAnswers, wrongAnswers), buildBarRenderer(new int[]{Color.GREEN,Color.RED}), Type.DEFAULT);

クエリ

1) 位置と正確なパン グラフの固定方法

2) バーに 3D 効果を持たせることはできますか??方法は??

3) aChartEngine に比べてシンプルなライブラリは他にありますか??

4

1 に答える 1

1

グラフ内にバーがあるという問題を解決するには、最小値と最大値に基づいて X 軸と Y 軸の最小値と最大値を指定する必要があります。レンダラーの場合、必要です

renderer.setXAxisMin(-1);
renderer.setXAxisMax(wrongAnswers);
renderer.setYAxisMax(10);
renderer.setYAxisMin(0);

したがって、最終結果は次のようになります

最終結果

于 2013-07-13T06:00:10.260 に答える