计算图表应用程序“条形矩形”的比例因子

sky*_*ar7 1 java graphics java-2d

我有一个整数值数组

String[] values={3100,7500,8000,4200,88000,71000,32000};
Run Code Online (Sandbox Code Playgroud)

需要缩放到 my 的已知高度JComponent,问题是如何将这些值缩放到例如 h=600px?

这是一张图片,只是为了更清楚地说明我想要实现的目标: 在此处输入图片说明

谢谢

tit*_*coy 5

bar_height = chart_height*(value/max_value)
Run Code Online (Sandbox Code Playgroud)

要确定bar_height,你缩放(乘)chart_height通过(value/max_value),其中:

  • bar_height 是条形的高度(以像素为单位)。
  • value 是要绘制的值。
  • max_value 是 y 轴上的最大值。
  • chart_height 是以像素为单位的图表高度(在您的示例中为 600)。

例如:

88000/88000 = 1.0,或图表高度的 100% (600px)
    0/88000 = 0,或图表高度的 0% (0px)
 3100/88000 = ~0.035,或图表高度的 ~3.53% (~21px)