条形图正在处理中,我的尺寸不合适

时间:2019-04-11 08:08:23

标签: java charts processing

我应该使用array中的元素绘制2D条形图。 我必须根据值的总数和窗口的总宽度选择条形宽度;并根据其特定值和所有元素的最大值来计算钢筋高度,要考虑到最大值元素的钢筋高度将成为窗口的高度。 到目前为止,这是我的代码,但没有得到想要的结果。

float[] values = {25.0, 45.0, 5.0, 15.0, 10.0};

void setup() {
size(400,400);
}
void draw() {
background(0);

 // draw axes (relative to screen edges)
  stroke(255,0,0);
  strokeWeight(5);
  line(0,height,width,height);
  line(0,0,0,height);

    barChart(values);
}

void barChart(float[] data){
  for (int x=0; x<400; x+=80) {    
    for (int i=0; i<data.length; i++){

      fill(20,128,55);
    rect(x,350,80,(data[i]/100)*400);  //x,y,width,height
      }
    }

}


1 个答案:

答案 0 :(得分:1)

您已经写过,条形宽度应该是“值总数和窗口总宽度的函数”,但是现在它是一个常数(80)。

您还写道,钢筋高度应是其特定值和所有元素最大值的函数,要考虑到最大值元素的钢筋高度将为窗口”,但现在仅取决于数据值。

因此,当然,代码 无法完成您期望的工作,您需要将这些常量更改为基于这些变量的表达式。请执行此操作,如果仍然得到意外的结果,请写下实际执行的操作,预期的输出以及结果的不同。