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