需要帮助定位和保证金achartengine

时间:2014-03-27 09:38:49

标签: android charts position achartengine donut-chart

我正在尝试制作带有右对齐标题的圆环图和线性布局中心的图表。

这是我的渲染代码:

    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>

这是结果:

result

我的问题:

  1. 如何更改甜甜圈的来源?我应该使用DefaultRenderer对象还是使用GraphicalView?

  2. 如何正确对齐标题​​? (如果可能的话)。

  3. 如何显示标题但不显示标签?

  4. 如果你有一个很好的教程,请告诉我:我必须制作另一个散点图。 非常感谢你!

1 个答案:

答案 0 :(得分: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"
//    }
  }