gpt4 book ai didi

java - 如何在获得不同范围的数字的同时放大/缩小图表?

转载 作者:行者123 更新时间:2023-12-01 15:37:50 24 4
gpt4 key购买 nike

我使用java和swing创建了一个图表,但它只适合显示正数和一些小于-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 轴位置,以防出现负数为了使其更清楚,您可以看一下这张图片:

enter image description here

最佳答案

您可能想看看 JFreeChart创建您的图表,而不是尝试从头开始构建您自己的解决方案。

关于java - 如何在获得不同范围的数字的同时放大/缩小图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com