我有大量的數據點是非整數值(浮點數)的二維座標。我正在尋找一個Java庫,可以幫助我繪製這些點,允許自定義點的大小,顏色和標籤。此外,我希望用戶能夠通過平移和縮放與點進行交互,並且我希望能夠捕獲用戶的KeyEvent。用Java繪製點與交互
處理看起來很棒我想要什麼,但我不想從頭開始做所有事情。有更好的解決方案嗎?
在此先感謝。
編輯:有約2k點。
我有大量的數據點是非整數值(浮點數)的二維座標。我正在尋找一個Java庫,可以幫助我繪製這些點,允許自定義點的大小,顏色和標籤。此外,我希望用戶能夠通過平移和縮放與點進行交互,並且我希望能夠捕獲用戶的KeyEvent。用Java繪製點與交互
處理看起來很棒我想要什麼,但我不想從頭開始做所有事情。有更好的解決方案嗎?
在此先感謝。
編輯:有約2k點。
取決於。我最近做了使用JFreechart顯示大型二維數據集的應用程序,但是我最終減小了數據集的性能。
我顯示了點數的矩陣,它隨着時間(新數據到達時)發生變化,刷新時間爲1秒(因此每一秒鐘的圖表都被重新繪製)。
對於matries 256 x 256在正常的用戶計算機上可以。如果矩陣約爲350點,則會變得粗糙(用戶看到GUI中的延遲),但是如果矩陣爲1024 x 1024,則應用程序不可用。
雖然我把圖表繪製爲EDT,但即使我把它放入不同的線程---渲染仍然會消耗處理器的能量。
因此,根據數據集的大小---你可能想使用JFreeChart。
我還沒有找到適合大數據集的好庫。
當你說大的是什麼意思? 1k,10萬或100萬點?
我剛剛推出了自己的自從我的數據集至少100k點。我試過了所有我能找到的圖表庫,但沒有一個能夠像我自己推出的圖表一樣快。
這個example很容易處理上千個節點。
GraphPanel() {
...
Random rnd = new Random();
for (int i = 0; i < 2000; i++) {
Point p = new Point(rnd.nextInt(WIDE), rnd.nextInt(HIGH));
nodes.add(new Node(p, 4, Color.blue, kind));
}
}
我的數據集約爲2k points。不過,我不需要這麼快。 – mellort 2010-04-19 18:29:40