Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何为每个条形图创建不同颜色的条形图?_Android_Achartengine - Fatal编程技术网

Android 如何为每个条形图创建不同颜色的条形图?

Android 如何为每个条形图创建不同颜色的条形图?,android,achartengine,Android,Achartengine,我们正在为文件管理器应用程序创建条形图,我们必须为每个条形图显示不同的颜色 全局编写以下代码 GraphicalView chartView = null; private CategorySeries series = new CategorySeries("Space"); private XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); private XYMultipleSeriesRenderer mult

我们正在为文件管理器应用程序创建条形图,我们必须为每个条形图显示不同的颜色

全局编写以下代码

GraphicalView chartView = null;
private CategorySeries series = new CategorySeries("Space");
private XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
private XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
ArrayList<String> names = new ArrayList<String>();
ArrayList<String> sizes = new ArrayList<String>();
GraphicalView chartView=null;
私有类别系列=新类别系列(“空间”);
私有XYMULTIPLESSIESDataset数据集=新XYMULTIPLESSIESDataset();
私有XYMultipleReseriesRenderer multiRenderer=新XYMultipleReseriesRenderer();
ArrayList name=新的ArrayList();
ArrayList size=新的ArrayList();
编写以下代码以显示不同的颜色

     public void getBarChart(){
        for(int i = 0;i < name.length; i++){
        series.add(name[i],values[i]);
        multiRenderer.addXTextLabel(i, name[i]);
    }     
    dataset.addSeries(series.toXYSeries()); 
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    renderer.setColor(Color.rgb(0, 255, 255));
    renderer.setFillPoints(true);
    renderer.setLineWidth(2);
    renderer.setDisplayChartValues(true);

    multiRenderer.setXLabels(0);
    multiRenderer.setChartTitle("Chart Used Space");
    multiRenderer.setXTitle("Name of Directory");
    multiRenderer.setAxisTitleTextSize((float)18);
    multiRenderer.setChartTitleTextSize((float)20);
    multiRenderer.setYTitle("Amount of Space in MB");
    multiRenderer.setXLabelsAngle((float)35);
    multiRenderer.setLabelsTextSize((float)15);
    multiRenderer.setXLabelsAlign(Align.LEFT);

    multiRenderer.setZoomButtonsVisible(true);
    multiRenderer.setBarSpacing((float) 1.0);
    multiRenderer.addSeriesRenderer(renderer);
        chartView = ChartFactory.getBarChartView(getBaseContext(), dataset, multiRenderer, org.achartengine.chart.BarChart.Type.DEFAULT);
    }
public void getBarChart(){
for(int i=0;i
条形图中的条形图颜色由渲染器提供。每个系列都有一个渲染器。为了使每个条形图都有一个单独的颜色,您必须添加几个系列,每个系列只有一个条形图。

您好,请查看此代码

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
 LinearLayout linearChart;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  linearChart = (LinearLayout) findViewById(R.id.linearChart);
  int colerloop[] = { 1, 2, 2, 2, 3, 3, 3, 3, 1, 1 };
  int heightLoop[] = { 300, 200, 200, 200, 100, 100, 100, 100, 300, 300 };
  for (int j = 0; j < colerloop.length; j++) {
   drawChart(1, colerloop[j], heightLoop[j]);
  }
 }

 public void drawChart(int count, int color, int height) {
  System.out.println(count + color + height);
  if (color == 3) {
   color = Color.RED;
  } else if (color == 1) {
   color = Color.BLUE;
  } else if (color == 2) {
   color = Color.GREEN;
  }

  for (int k = 1; k <= count; k++) {
   View view = new View(this);
   view.setBackgroundColor(color);
   view.setLayoutParams(new LinearLayout.LayoutParams(25, height));
   LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) view
     .getLayoutParams();
   params.setMargins(3, 0, 0, 0); // substitute parameters for left,
           // top, right, bottom
   view.setLayoutParams(params);
   linearChart.addView(view);
  }
 }
}
导入android.app.Activity;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.LinearLayout;
公共类MainActivity扩展了活动{
线性布局线性艺术;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linearChart=(LinearLayout)findViewById(R.id.linearChart);
int colerloop[]={1,2,2,2,3,3,3,3,1,1};
int heightLoop[]={300200200200100100100100100300300};
对于(int j=0;j