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 回答