c - 绘制直方图

标签 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

最佳答案

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

关于c - 绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10102416/

相关文章:

c - uint_16t转换后uint8_t的值

c - srand(0) 和 srand(1) 给出相同的结果?

c - 分配值表而不更改变量名称或编写花哨的代码

将 malloc() 转换为 calloc()

c - 需要 L 值吗? C 编程位模式

c++ - C/C++ 如何查看当前机器上的域名?

c - 如何将常量字符串从 fortran 函数传递到 C

c - 将有关信号的数据保存在文件中?

strtol 等规范中的混淆语言

c - OpenGL ES 2.0 : Object flattens as it rotates