2

我正在使用 JChart2D 进行可视化。我想让 X 和 Y 轴在像素方面相等。通过这样做,可以更容易地看出这些点在欧几里得距离中彼此之间的距离(见图)。就像现在一样,x 轴更加伸展。它们在值方面已经具有相同的范围。

帧大小现在定义像素值,即: jFrame.setSize(800,600);. 然后,一切都动态地适合 Chart2D 调整自身大小以腾出空间的框架内。我手动找到像素,但这似乎很愚蠢。此外,如果我有一个包含很多集群的场景,则图例行将换行并因此调整图表的大小。

我搜索了很多并查看了文档,但我一直无法找到解决方案。

那么如何将图表设置为固定大小,独立于框架中的其他项目?

图片示例:

4

2 回答 2

1

如果你能做到并且仍然坚持 JFrame 是非矩形的以显示在 x 范围内的剩余 200 px 中,你会期待什么?虚空灰?

例如,您可以通过将 GridBagLayout 设置为JFrame.getContentPane()并定义两个垂直单元格的网格来实现这一点 - 一个网格要采用600px x 600px,第二个要采用200px x 600px。但是你在第二个窗格中有空白。HTH,阿奇姆

于 2017-11-10T21:57:02.230 回答
0

通过这样做,更容易看出这些点在欧几里得距离中彼此之间的距离

不是真的,欧几里得距离最后需要你正在计算的2个点的位置,你有它......否则你将无法在画布上绘制任何东西..

您可以使用的另一种方法是在画布上实现 ViewPort 但这仅对放大/缩小图像有意义,这不是您的情况......

于 2016-09-13T15:32:57.393 回答