我正在编写一个函数来绘制直方图,但我遇到了问题。 这是代码
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
答案 0 :(得分:2)
不要使用printf立即打印直方图。相反,在进行打印之前确定所有数据点的位置。这样,您不必检查打印字符的每个数据时间,第二个数组也不必位于直方图的绘制区域内。