2016-09-13 33 views
1

我正在使用JChart2D進行可視化。我想使X和Y軸在像素方面相等。通過這樣做,可以更容易地看到歐幾里得距離彼此的距離(見圖)。就像現在一樣,x軸更加伸展。就價值而言,它們的範圍已經相同。如何使軸的像素大小相等?

框架大小現在定義像素值,即: jFrame.setSize(800,600);。然後,所有內容都動態適應Chart2D調整自身尺寸的框架,以騰出空間。我手動找到像素,但這似乎很愚蠢。此外,如果我有很多集羣的情況下,圖例行將包裝,從而調整圖表的大小。

我GOOGLE了很多,看了看文檔,但我一直無法找到解決方案。

那麼如何將圖表設置爲一個固定的大小,這是獨立於框架中的其他項目?

形象的例子:

回答

0

這樣它更容易看到點有多遠每個 其他在歐氏距離

不是真的,歐幾里得距離要求在最後計算你正在計算的2點的位置,否則就是你ou不能繪製任何東西在畫布上..

另一個你可以使用的方法是在畫布上實現一個ViewPort,但這隻適用於放大/縮小圖像,這不是你的情況...

+0

「不是真的,歐幾里得距離需要在最後的2點,你正在計算的位置,你有它...否則你wouldnt能夠繪製任何東西在畫布上..」 我認爲你誤解了我。我使用它來進行可視化。每個點在概念上都有一個圍繞它們的不可見圓圈,我計算圓圈內的點數量。計算明智,這是沒有問題的,但如果軸不代表相同的歐幾里德距離pr像素,那麼它會讓人感到困惑。然後我看着一個實際上是一個圓的橢圓。希望它是有道理的:) – Bjerrum

0

如果你願意,你期望什麼,仍然堅持JFrame是非矩形的,以便在剩餘的200像素x範圍內顯示?虛空灰色?

你可以實現這個例如通過將GridBagLayout設置爲JFrame.getContentPane()並定義兩個垂直單元的網格 - 一個網格採用600px x 600px,第二個採用200px x 600px。但是你在第二個窗格中有空白。 HTH,Achim

相關問題