2014-10-31 32 views
0

我想顯示折線圖,其中數據點符號表示風向。Vaadin折線圖數據點符號取決於值

這將意味着符號取決於系列中的值。例如,一個值爲{date:「whatever」,speed:12,direction:「E」}的系列應該顯示一個Yaxis值爲12的數據點和一個指向左邊的箭頭(東風)

我知道我必須使用MarkerSymbol,但這意味着,AFAIK會針對所有數據點。

Vaadin圖表是否可行?

感謝很多提前

弗蘭

回答

1

我不知道你是怎麼retrive /讓你DataSeriesItem秒,但,假設你有所有的設置,這將做的工作,例如

for (DataSeriesItem dataSeriesItem : series.getData()) { 
    if (dataSeriesItem.getY().intValue() > 66) { 
     dataSeriesItem.getMarker().setSymbol(new MarkerSymbolUrl("http://www.highcharts.com/demo/gfx/snow.png")); 
    } else if (dataSeriesItem.getY().intValue() > 33) { 
     dataSeriesItem.getMarker().setSymbol(new MarkerSymbolUrl("http://www.highcharts.com/demo/gfx/sun.png")); 
    } else { 
     //no changes 
    } 
} 

如果可以,請在創建每個DateSeriesItem時嘗試設置此標記,以避免對數據進行無用的迭代。

+0

非常感謝@MarcelloGarini!這意味着例如在每個根據值準備的DataSeriesItem中已經存在ThemeResource url,因此圖表不需要執行任何操作。我會檢查這一點。 – frandevel 2014-11-01 08:31:04

+0

不客氣!對於網址,也許做一些枚舉,所以你不會移動整個字符串。幹得好! – MarcelloGarini 2014-11-03 07:29:55