绘制直方图

时间:2012-04-11 08:27:57

标签: c

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

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

1 个答案:

答案 0 :(得分:2)

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