2

グラフに関連するアプリを 1 つ実装しています。

グラフの背景として 1 つの画像を設定しようとしています。

ただし、グラフの内部のみに設定されます。全体のレイアウトは設定されません。

私のコードは休閑地です。

................................................................... ..........

レイアウト = (LinearLayout) findViewById(R.id.linearLayout1);

        XYMultipleSeriesRenderer renderer = getBarDemoRenderer();
        setChartSettings(renderer, "Call Duration/Incoming", "my chart", "", 0.5, 12.5,
                0, 60, 0, Color.LTGRAY);
        mChartView = ChartFactory.getBarChartView(BarchartExampleActivity.this, getBarDemoDataset(renderer), renderer, Type.STACKED);
        layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));


}
public XYMultipleSeriesRenderer getBarDemoRenderer() 
{

      XYMultipleSeriesRenderer renderer = buildBarRenderer();
        renderer.setBarSpacing(0.5);
        renderer.setXLabels(0);
        renderer.setYLabels(10);
        renderer.addXTextLabel(1, "1");
        renderer.addXTextLabel(2, "2");
        renderer.addXTextLabel(3, "3");
        renderer.addXTextLabel(4, "4");
        renderer.addXTextLabel(5, "5");
        renderer.addXTextLabel(6, "6");
        renderer.addXTextLabel(7, "7");
        renderer.addXTextLabel(8, "8");
        renderer.addXTextLabel(9, "9");
        renderer.addXTextLabel(10, "10");













        renderer.setYLabelsAlign(Align.RIGHT);

        SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);

// r.setDisplayChartValues(true); r.setChartValuesTextSize(12); r.setChartValuesSpacing(7); r.setGradientEnabled(真); r.setGradientStart(0, Color.BLUE); r.setGradientStop(20, Color.GREEN);

        return renderer;

}
 protected XYMultipleSeriesRenderer buildBarRenderer() 
  {
      Log.v("abstract","bbb");
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
    renderer.setAxisTitleTextSize(16);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);


    for (int i = 0; i < 1; i++) 
    {
      SimpleSeriesRenderer r = new SimpleSeriesRenderer();

      renderer.addSeriesRenderer(r);
    }
    return renderer;
  }
 protected void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle,
          String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,
          int labelsColor) 
      {
          Log.v("abstract","555"+title  +xMin   +yMin);
          renderer.setShowLegend(false);
        renderer.setChartTitle(title);
        renderer.setXTitle(xTitle);
        renderer.setYTitle(yTitle);
        renderer.setXAxisMin(xMin);
        renderer.setXAxisMax(xMax);
        renderer.setYAxisMin(yMin);
        renderer.setYAxisMax(yMax);
        renderer.setShowGrid(true);



      }
 private XYMultipleSeriesDataset getBarDemoDataset(XYMultipleSeriesRenderer renderer) 
    {
     double[] minValues = new double[]    {0, 0, 0,0,  0,0,  0,0,  0,0,  0,0, 0};
        double[] maxValues = new double[] { 7,0,10,0, 24,0, 30,0, 35,0, 40, 0,45};

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        RangeCategorySeries series = new RangeCategorySeries("");
        int length = minValues.length;
        for (int k = 0; k < length; k++) 
        {
         series.add(minValues[k], maxValues[k]);
        }
        dataset.addSeries(series.toXYSeries());
        return dataset;    
    }

レイアウトに背景を設定しています。

しかし、それは設定された全体のレイアウトではありません。

背景画像をグラフに設定するには?

誰かが解決策を持っている場合は、私を助けてください。

前もって感謝します。

4

1 に答える 1

1

私はここから離れているかもしれませんが、setBackgroundがない場合、またはレンダラーに類似したものがない場合は、グラフのコンテナーとしてレイアウトを使用し、代わりに背景を設定することができます。

于 2012-04-09T05:58:06.153 に答える