0
我已經創建了使用Java和擺動的圖形,但它只是用於顯示正數和一些負數小於-14的想法,我用是好的:如何在獲取不同範圍的數字時放大/縮小圖形?
- 創建一個盒子
- 加我的X和Y軸標籤
- 得到的數字陣列
- 獲得最大的數指明的數組
- 的最大數量使用下面的代碼創建一個規模爲:
double scale = (double)(height - 2*borderSpace)/getMax();
,然後繪製我的線圖,上面的解決方案是完美的,因爲我做了一招
int height2 = getHeight() - getHeight()/2;
double scale = (double)(height2 - 2*borderSpace)/getMax();
這僅僅是工作到-14不得少於負值正值。
畫線我使用此代碼
//borderspace = 20
double xInc = (double)(width - 2*borderSpace)/(data.length-1);
double scale = (double)(height - 2*borderSpace)/getMax();
g2.setPaint(Color.green.darker());
for(int i = 0 ; i < data.length-1; i++) {
double x1 = borderSpace + i*xInc;
double y1 = height - borderSpace - scale*data[i];
double x2 = borderSpace + (i+1)*xInc;
double y2 = height - borderSpace - scale*data[i+1];
g2.draw(new Line2D.Double(x1, y1, x2, y2));
}
我想有盒子,但Y軸應該是左側(我不想改變Y軸的地方),我只是想讓改變發生X軸的情況下,具有使之更明確,你可以看看這張照片負數 的:
對不起,你的問題很不清楚。你還沒有發佈任何可以測試的代碼。 – 2011-12-22 15:16:09
我再次添加了我的繪圖線方法 – 2011-12-22 15:23:42
,而不是一段可以測試的代碼。這也開始感覺像家庭作業,你有基本的計算冗餘像'height2 = getHeight() - getHeight()/ 2';因爲'height2 = getHeight()/ 2'就足夠了......無論如何,你在繪圖方法的任何地方都沒有使用height2 ......或者如果你不清楚如何。 – 2011-12-22 15:32:04