在ListSeries的Vaadin图表中设置条形颜色(在BasicColumn上)

时间:2015-04-13 08:19:11

标签: java vaadin vaadin-charts

使用Vaadin 6.x和Vaadin Charts,我正在使用BasicColumn(http://demo.vaadin.com/charts/#BasicColumn)。 我希望用户在屏幕上选择条形列颜色。我正确地从用户那里得到了颜色但是我无法动态设置列条的颜色。

我知道DataSeriesItem非常简单,但ListSeries没有颜色属性。

有没有办法在BasicColumn上设置条形颜色?

2 个答案:

答案 0 :(得分:1)

这是我对DataSeries的实现。但是当您在PlotOptionsColumn上设置颜色时,它也适用于ListSeries:

        pingDropoutSr=new DataSeries();
        PlotOptionsColumn dropOptions= new PlotOptionsColumn();
        dropOptions.setColor( SolidColor.GREEN ); //Color is an interface only
        pingDropoutSr.setPlotOptions(dropOptions);

答案 1 :(得分:0)

我遇到了同样的问题here,并找到了使用 PlotOptionsColumn 的解决方案。

//Hard Coded Values
String months[] = { "DataSet 1", "DataSet 2", "DataSet 3", "DataSet 4", "DataSet 5"};

int dataArray[][] = { 
        { 8, 13, 7, 4 }, 
        { 23, 1, 30, 7 },
        { 37, 3, 22, 2 },
        { 13, 23, 4, 3 },
        { 3, 10, 9, 5 },
};

int counter = 0;

// Data series for each numeric column in the table
for (int month = 0; month < 4; month++) {

    ListSeries series = new ListSeries();
    PlotOptionsColumn options = new PlotOptionsColumn();
    options.setColor(colors[counter++]);
    series.setPlotOptions(options);
    series.setName(months[month]);

    // The rows of the table
    for (int data = 0; data < dataArray.length; data++) {
        series.addData(dataArray[data][month]);
    }

    conf.addSeries(series);
}