Android图表:同一域上的多标签

时间:2014-01-07 15:06:32

标签: android charts

我正在尝试在android中实现一个图表,该图表在同一个域中使用2个标签,例如:

x轴将具有天加温度,x轴将根据温度绘制,但我只想在温度标签上方或下方添加天标。

像这样的x轴示例:


温度。 39 37 36

天1 2 3

或者我想在上面的x域中制作标签

像这样:

天1 2 3


温度。 37 36 34

到目前为止,我已尝试过以下库:GraphView,Android plot,achartengine

,但非可以做到这一点。

1 个答案:

答案 0 :(得分:0)

我使用了aChartEngine并且能够生成具有不同轴的图形。

protected void setRenderer(XYMultipleSeriesRenderer renderer, int[] colors, PointStyle[] styles) {
    renderer.setAxisTitleTextSize(16);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);
    renderer.setPointSize(5f);
    renderer.setYLabels(5);
    renderer.setMargins(new int[] { 30, 15, 30, 15 });
    int length = colors.length;
    for (int i = 0; i < length; i++) {
      XYSeriesRenderer r = new XYSeriesRenderer();
      r.setColor(colors[i]);
      r.setPointStyle(styles[i]);
      renderer.addSeriesRenderer(r);
    }
    renderer.setClickEnabled(true);
    renderer.setSelectableBuffer(100);
    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.argb(100, 50, 50, 50));

    renderer.setAxesColor(Color.LTGRAY);
    renderer.setZoomButtonsVisible(true);
    renderer.setPointSize(10);

    renderer.setChartTitle("Fuel Efficiency and Cost");
    //mRenderer.setXTitle("Date");

    renderer.setShowGrid(true);
    renderer.setXLabelsAlign(Align.RIGHT);
    renderer.setYLabelsAlign(Align.LEFT);


    renderer.setYTitle(cunits,0);

    renderer.setLabelsColor(Color.WHITE);
    renderer.setXLabelsColor(Color.GREEN);
    renderer.setYLabelsColor(0, colors[0]);
    renderer.setYLabelsColor(1, colors[1]);

    renderer.setYTitle(dunits, 1);
    renderer.setYAxisAlign(Align.RIGHT, 1);
    renderer.setYLabelsAlign(Align.RIGHT, 1);
  }