C中的频率直方图

use*_*466 2 c

有人能给我一个关于直方图的伪代码会是什么样子的暗示吗?

dmc*_*kee 7

如何构建和填充直方图?

琐碎的案例只是每箱的计数:

/* needs error checking, badly */
int *buildHist(int bins, double min, double max, int n, double *data){
   double *hist=malloc(bins*sizeof(int));
   if (hist == NULL) return hist;
   for (int i=0; i<n; ++i){
      int bin=int( (data[i]-min)/((max-min)/(bins)) );
      if ( (bin>=0) && (bin<n) ) hist[bin]++;
   }
   return hist;
}
Run Code Online (Sandbox Code Playgroud)

对于加权直方图,数组必须是浮点类型.

使用更多数据(流量过多和流量不足,累计统计数据......或者甚至将限制保持在与计数相同的位置),使用包含数组的结构.

通常需要增量填充,但从这里开始应该是显而易见的.

输出很大程度上取决于您手头的显示技术.