我以前从未将 Java 用于图形,所以我目前正在努力学习。
作为一项基本练习,我想将数组中包含的点绘制到数轴上,但不确定如何开始。
我正在做以下事情来划清界线:
public void drawNumberLine(Graphics g) {
g.drawLine(0,0,100,0);
}
不确定从那里去哪里,因为我不知道如何绘制线上的点。我已经阅读了一些教程,但都涉及 2D 图,所以我想知道是否有人可以指导我正确的方向。
最佳答案
你的数组是什么数字范围?我假设您想缩小它以适应您的 100 条长线?只能是正数吗?在那种情况下,像这样的东西应该可以工作
//Find the max value for scaling purposes
double max = Double.MIN_VALUE;
double min = Double.MAX_VALUE
for(double i : array){
if(i > max) max = i;
if(i < min) min = i;
}
for(double i : array){
//Replace 100 with a variable for how long the line is!
double scaled = ((i-min)/(max-min)) * 100;
Ellipse.Double circle = new EllipseDouble(width, height, scaled, 0);
g2d.draw(circle)
}
如果是整型数组,一定要避免整数除法。
关于java - 使用 Java 绘制一维图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470053/