簡體   English   中英

用交互式繪制Java中的點

[英]Plotting Points in Java with Interaction

我有大量的數據點,它們是具有非整數值(浮點數)的二維坐標。 我正在尋找一個可以幫助我繪制這些點的Java庫,允許自定義點大小,顏色和標簽。 此外,我希望用戶能夠通過平移和縮放與點進行交互,並且我希望能夠從用戶捕獲KeyEvents。

處理看起來很棒我想要的東西,但我不想從頭開始做所有事情。 有更好的解決方案嗎?

提前致謝。

編輯:大約有2k點。

我還沒有找到一個適合大型數據集的好庫。

當你說大的時候是什么意思? 1k,100k或100萬點?

因為我的數據集至少是100k點,所以我只是自己動手了。 我已經嘗試了所有可以找到的圖表庫,但沒有一個像我自己編寫的那樣快。

要看。 我最近做了一個用JFreechart顯示大型2d數據集的應用程序,但我最終使數據集變小以獲得性能。

我顯示了點的矩陣,這些點在時間上變化(當新數據到達時),刷新時間為1秒(因此重新繪制每一秒圖表)。

對於256 x 256,可以在普通用戶計算機上使用。 如果矩陣是~350 pts它變得粗糙(用戶在GUI中看到滯后),但是如果矩陣是1024 x 1024應用程序不可用,則它是可用的。

我做了EDT圖表繪圖,但即使我把它帶入不同的線程---渲染仍然會占用處理器能力。

因此,根據數據集大小---您可能希望使用JFreeChart。

示例可輕松處理數千個節點。

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));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM