AChartEngine を使用して、複数の色を持つ線でグラフを作成するにはどうすればよいですか? これは、例の SalesBarChart に従って、これを実行しようとした方法です。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_herd_overview);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
TextView herdoverview = (TextView) findViewById(R.id.herdoverview);
EditText edit_herdinfo = (EditText) findViewById(R.id.edit_herdinfo);
Button button = (Button) findViewById(R.id.confirmherdinfo);
button.setVisibility(View.GONE);
chartLayout = findViewById(R.id.chartHorizontalEvolution);
chartLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LogService.log(TAG, "It has entered on Click");
Intent myIntent = null;
myIntent = new Intent(HerdOverview.this, HerdAnalysis.class);
startActivity(myIntent);
}
});
createGraph();
}
protected XYMultipleSeriesDataset buildBarDataset(String[] titles, List<double[]> values) {
LogService.log(TAG, "titles.size : " + titles.length);
LogService.log(TAG, "values.size : " + values.size());
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
int length = titles.length;
for (int i = 0; i < length; i++) {
LogService.log(TAG, "I : " + i + " | titles: " + titles[i] + " | values: " + values.get(i));
CategorySeries series = new CategorySeries(titles[i]);
double[] v = values.get(i);
int seriesLength = v.length;
for (int k = 0; k < seriesLength; k++) {
series.add(v[k]);
LogService.log(TAG, "K : " + k + " | values: " + v[k]);
}
dataset.addSeries(series.toXYSeries());
}
return dataset;
}
protected void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle, String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor, int labelsColor) {
renderer.setChartTitle(title);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(labelsColor);
}
protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}
新しいdataset.addSeriesを実行するたびに、最初の行の下に2番目の色で2番目の行が追加されます.すべてのタイトルが前に配置された行に直接行を配置するようにするにはどうすればよいですか?