0

achart エンジンを使用しようとしましたが、ドキュメントがやや不明確です。私も例を調べてみました。

添付されている棒グラフの線の太さを増やす方法を誰か説明できますか? また、各バーを独自のシリーズに分けたいと思っていますが、うまくいきませんでした (私のコードは画像の下にあります)。私は本当に長い間この問題に取り組んできました!

ここに画像の説明を入力

public XYMultipleSeriesRenderer getBarDemoRenderer() {
     Log.d(LOG_TAG, "Entering getBarDemoRenderer");
     XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();   
     renderer.setAxisTitleTextSize(18);
     renderer.setChartTitleTextSize(20);
     renderer.setLabelsTextSize(18);
     renderer.setLegendTextSize(14);
     renderer.setMargins(new int[] {20, 30, 15, 0});
     int[] color = {Color.RED, Color.CYAN,Color.YELLOW, Color.LTGRAY,Color.MAGENTA, Color.GREEN, Color.WHITE};

     for(int i=0; i<7; i++){
         SimpleSeriesRenderer r = new SimpleSeriesRenderer();
         r.setColor(color[i]);
         renderer.addSeriesRenderer(r);  
     }

     int renderCount = renderer.getSeriesRendererCount();
     Log.d(LOG_TAG, "Renderer series count =  " + renderCount);

     return renderer;
 }

 private XYMultipleSeriesDataset getApplianceDataset() {

     XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

     try{

         CategorySeries series = null;
         for (Map.Entry<String,Float> entry : list.entrySet()) {
             String key = entry.getKey();
             series = new CategorySeries (key);
             String b=String.valueOf(entry.getValue());
             double value=Double.valueOf(b);
             series.add(value);   
             dataset.addSeries(series.toXYSeries());
         }

     }catch(IllegalArgumentException e){
         Log.e(LOG_TAG, "IllegalArgumentException " + e.toString());
         Toast.makeText(this, "Unable to show chart", Toast.LENGTH_LONG).show();
     }

     int dataSeriesCount = dataset.getSeriesCount();
     return dataset;
 }


    private void setChartSettings(XYMultipleSeriesRenderer renderer) {         
        renderer.setChartTitle("Test Bar Chart");
        renderer.setChartTitleTextSize(20);
        renderer.setXTitle("Appliance");
        renderer.setYTitle("Watt Hours (wh)");
        renderer.setXAxisMax(3);
        renderer.setXAxisMin(0.0);
        renderer.setYAxisMax(1800);
        renderer.setYAxisMin(0);   
    }
4

1 に答える 1

0

setChartSettings で与える

        renderer.setBarSpacing(1.0f);
        renderer.setMargins(new int[] {10, 10, 10, 0});
于 2012-02-02T04:40:50.640 に答える