0

タイトルが右揃えで、グラフが線形レイアウトの中央にあるドーナツ グラフを作成しようとしています。

これは私のレンダリングコードです:

    DefaultRenderer renderer = buildCategoryRenderer(colors);
    renderer.setShowLabels(true);
    renderer.setInScroll(true);
    renderer.setChartTitle("BEST TITLE IN THE WORLD");
    renderer.setZoomEnabled(false);
    renderer.setPanEnabled(false);// Disable User Interaction
    renderer.setScale((float) 1.3);
    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.WHITE);
    renderer.setStartAngle(0);
    //didn't work: margins - an array containing the margin size values,
    //in this order: top, left, bottom, right
    int[] margins = {150,0,0,0};
    renderer.setMargins(margins);
    //if I set to false, title disappear
    renderer.setShowLabels(true);
    renderer.setShowLegend(false);

    MultipleCategorySeries categorySeries = new MultipleCategorySeries(
            "CONTENUTI");
    categorySeries.add(labels, values);

    donutGraph = ChartFactory.getDoughnutChartView(this,
            categorySeries, renderer);
    donutGraph.setLeft(10);
    donutGraph.setOnClickListener(this);
    parent.addView(donutGraph);

    donutGraph.repaint();

これは私のxmlコードです(ドーナツチャートのみ):

    <!-- layout donut -->
    <LinearLayout
             android:id="@+id/pie_chart"
             android:layout_width="fill_parent"
             android:layout_height="0dip"
             android:layout_weight="0.5"
             android:layout_margin="10dp"
             android:orientation="horizontal"
             android:background="#aadd66">
    </LinearLayout>

これは結果です:

結果

私の質問:

  1. ドーナツの原産地を変更するにはどうすればよいですか? DefaultRenderer オブジェクトまたは GraphicalView でこれを行う必要がありますか?

  2. タイトルを右揃えにする方法を教えてください。(可能であれば)。

  3. ラベルではなくタイトルを表示するにはどうすればよいですか?

良いチュートリアルがあれば教えてください: 別の散布図を作成する必要があります。どうもありがとうございました!

4

1 に答える 1

0

2.どうすればタイトルを右揃えにできますか? (可能であれば)。

3.ラベルではなくタイトルを表示するにはどうすればよいですか?

drawTitle()の方法でこれらの変更を行いますRoundChart.java

 public void drawTitle(Canvas canvas, int x, int y, int width, Paint paint) {
//    if (mRenderer.isShowLabels()) {
      paint.setColor(mRenderer.getLabelsColor());
      paint.setTextAlign(Align.LEFT);
      paint.setTextSize(mRenderer.getChartTitleTextSize());
      drawString(canvas, mRenderer.getChartTitle(), x  ,
          y + mRenderer.getChartTitleTextSize(), paint);    //REMOVE "+ width / 2"
//    }
  }
于 2014-04-02T05:26:42.663 に答える