2012-08-27 82 views
0

今天我需要通過使用雙打或浮動來定位元素來在屏幕上可視化大型數據集。當使用像素,我可以簡單地畫一個矩形與下面的代碼:在矩形位置顯示0.01的差異?

gimg.draw(new Rectangle2D.Double(1, 1, 50, 50)); 

但是當我嘗試繪製兩個矩形與下面的代碼出現問題。

gimg.setColor(Color.white); 
gimg.draw(new Rectangle2D.Double(1.0, 1.0, 50, 50)); 
gimg.setColor(Color.gray); 
gimg.draw(new Rectangle2D.Double(1.1, 1.1, 50.1, 50.1)); 

的2個矩形繪製在彼此的,換句話說,不能看到白色和灰色的矩形因爲灰色一個被繪製在白色的。

我使用0.1增量。經過一些測試後,我似乎可以在使用0.5增量時查看部分矩形。這裏的問題只是我還需要使矩形可見,只有位置不同0.01。

我懷疑我錯過了這裏真正重要的東西。任何人都可以幫助我嗎?

回答

4

您應該考慮使用0.1:1的比例尺,因爲像素不能分爲十分之一(或任何分數)而不會損失準確性/可用性。想象一下屏幕上的微小像素 - 您正嘗試將1px線分成10 區分部分。不幸的是,這是不可能的。

+0

謝謝你的回覆,我給了它一些想法,事實上如果我繼續在昨天的道路上,我可能最終會形成一個非常擁擠和不清晰的可視化。更好的想法是生成全局概覽的子視圖。讓我們提出一些想法。 –

1

雖然不能將像素「分割」爲分數,但可以繪製跨越2像素的「模糊」線條的矩形。 (不幸的是,這會比現在使用的代碼複雜得多)。但是,在這種情況下,我認爲您需要退後一步,考慮您正在使用的數據的特徵以及哪種類型的這意味着你希望人們從這些數據中提取。

即使有可能具有微米精度的屏幕上的位置的矩形,你的用戶將不能夠更好辨別數據背後的意義,因爲這矩形是0.0001毫米進一步比的正確的一。

也許你需要找到一個比位於屏幕上不同位置的矩形更好的可視化。也許你可以利用不同的顏色或顏色強度來表達數據的某些方面。如果不知道你在做什麼,就不可能說更具體的事情。