我用AchartEngine来显示Barchart.在我的图表栏中,颜色也可见0值.我已经检查过如下..但它将所有值设置为透明.我想将条形颜色设置为大于0的值.
- CategorySeries series = new CategorySeries("");
- for (int i = 0; i < y_onemonth.length; i++) {
- series.add("Bar" + (i + 1),y_onemonth[i]);
- }
- XYMultipleSeriesDataset dataSet = new XYMultipleSeriesDataset();
- dataSet.addSeries(series.toXYSeries()); // number of series
- // customization of the chart
- XYSeriesRenderer renderer = new XYSeriesRenderer();
- for (int i = 0; i < y_onemonth.length; i++) {
- if(y_onemonth[i]==0)
- {
- renderer.setColor(Color.TRANSPARENT);
- }
- else
- {
- renderer.setColor(Color.RED);
- }
- }
更新:
我提到你改变了我的代码,但得到这样的图表.我有一个月19日的价值,但它不可见.
解决方法
我已成功用MathHelper.NULL_VALUE替换0值.您可以找到该类
here的文档.
编辑:填写数据系列时,您可以尝试这样的事情:
- for (int i = 0; i < y_onemonth.length; i++) {
- double doubleValue = MathHelper.NULL_VALUE;
- if (y_onemonth[i] != 0){
- doubleValue = y_onemonth[i];
- }
- series.add("Bar" + (i + 1),doubleValue);
- }
希望这会有所帮助;-)