我正在编写一个函数来绘制直方图,但我遇到了一个问题。 这是代码
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
最佳答案
不要立即用 printf 打印直方图。相反,在打印之前弄清楚所有数据点的位置。这样,您就不必在打印字符时检查每个数据,并且第二个数组不必位于直方图的绘制区域内。
关于c - 绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102416/