在GXT饼图中选择颜色

时间:2014-11-27 16:22:11

标签: java gwt gxt gxt-charts

我正在使用GXT(pro)图表。我试着画一个展示对象状态分布的甜甜圈。

让我们采取3种状态:

  • 好的:我希望它以绿色显示
  • KO:我希望它以红色显示
  • 已取消:我希望它显示为蓝色

让我们来看看这个dataModel:

public class DataModel {

  private Status status;
  private Long count;

  public DataModel(Status status, Long count) {
    this.status = status;
    this.count = count;
  }

  public String getId() {
    return status.name();
  }

  public String getName() {
    return status.name()
  }

  public Long getData() {
    return rapportAvancement.getCount();
  }

}

以下是我设置颜色的方法:

public static final String[] COLORS_STR
 = new String[]{"#24b324", "#247bb3", "#b32424"};

[...]

for (Status status : Status.values()) {
  Gradient slice = new Gradient(status.name(), 0);
  slice.setId(status.name());
  slice.setColor(COLORS_STR[status.ordinal()]);
  chart.addGradient(slice);
  series.addColor(slice);
}

结果很好:

Chart-ok

但如果我只有2个区域,颜色会移动(KO显示为蓝色而不是红色):

enter image description here

是否有一个选项允许根据标准指定颜色而不是按顺序分配颜色?

1 个答案:

答案 0 :(得分:0)

我检查了API,但似乎不可能。您是否可以避免在迭代状态以创建切片时添加任何没有任何数据的状态?