如果不想自己处理坐标变换的话:
先用BufferedImage建块更大的画布,满足你画点所需的范围;
然后用Graphics.drawRect(x,y,1,1)来画点;
最后在JPanel的graphics上用drawImage把新建的这个BufferedImage画上去,用拉伸就行了。
先用BufferedImage建块更大的画布,满足你画点所需的范围;
然后用Graphics.drawRect(x,y,1,1)来画点;
最后在JPanel的graphics上用drawImage把新建的这个BufferedImage画上去,用拉伸就行了。
你的意思是建个更大的画布,将点放大10000倍变成整数,然后传入drawRect(x,y,1,1)?
其实如果用Graphics2D的话,自带translate(double tx, double ty) ,也就是可以替你做坐标变换。其实自己写个类,封装下BufferedImage,然后自行做坐标换算,更合理,而且更容易出效果。因为你核心要表达的应该是聚类,也就是密集的地方,应该能够用颜色表达出其效果。所以假设原始背景是黑色的话,坐标换算后的位置:如果没有点,就画个黑灰色点上去;如果有黑灰色点,就画个灰色点上去;如果有灰色点就画个亮灰;如果有亮灰就画个白点。当然你也可以用色系来处理,重复点少的用 深蓝色,重复点多的用亮红色。这只是做法问题而已了。