2

我正在编写一个函数来绘制直方图,但我遇到了一个问题。这是代码

void plotHist(int num, regression *r, histData *h)
{
   int i, j;
   for (i = 0; i< h->numHist; i++)
   {
       printf("%2f\t|", h->hist[i].xValue) ;
           for ( j = 0 ; j < h->hist[i].yFrequency/5; j ++)
           {
               printf("*");

           }


        printf("\n");
    }

}

我在屏幕上得到的结果是:

                -199.422 |  
                -142.232 |****
                -98.232  |******
                -21.32   |***********
                 43.424  |****************
                 58.234  |***************
                 92.123  |*********
                 189.5   |****

问题是我必须通过“o”字母向这个直方图添加另一个数组,我不知道该怎么做。结果应该是这样的:

        -199.422 |  o
        -142.232 |****o
        -98.232  |******o
        -21.32   |********o**
        43.424   |**********o*****
        58.234   |********o******
        92.123   |******o**
        189.5    |****o
4

1 回答 1

2

不要立即使用 printf 打印直方图。相反,在打印之前弄清楚所有数据点的位置。这样,您不必在打印字符时检查每个数据,并且第二个数组不必位于直方图的绘制区域内。

于 2012-04-11T08:39:09.493 回答