forked from personal/squiggle.c
update bin size depending on bin width
This commit is contained in:
parent
f524777313
commit
3a7f9a9d41
|
@ -275,7 +275,19 @@ void array_print_histogram(double* xs, int n_samples, int n_bins) {
|
||||||
for (int i = 0; i < n_bins; i++) {
|
for (int i = 0; i < n_bins; i++) {
|
||||||
double bin_start = min_value + i * bin_width;
|
double bin_start = min_value + i * bin_width;
|
||||||
double bin_end = bin_start + bin_width;
|
double bin_end = bin_start + bin_width;
|
||||||
printf(" [%4.1f, %4.1f): ", bin_start, bin_end);
|
if(bin_width < 0.01){
|
||||||
|
printf(" [%4.3f, %4.3f): ", bin_start, bin_end);
|
||||||
|
} else if(bin_width < 0.1){
|
||||||
|
printf(" [%4.2f, %4.2f): ", bin_start, bin_end);
|
||||||
|
} else if(bin_width < 1){
|
||||||
|
printf(" [%4.1f, %4.1f): ", bin_start, bin_end);
|
||||||
|
} else if(bin_width < 10){
|
||||||
|
printf(" [%4.0f, %4.0f): ", bin_start, bin_end);
|
||||||
|
} else {
|
||||||
|
printf(" [%4f, %4f): ", bin_start, bin_end);
|
||||||
|
}
|
||||||
|
// number of decimals could depend on the number of bins
|
||||||
|
// or on the size of the smallest bucket
|
||||||
|
|
||||||
int marks = (int)(bins[i] * scale);
|
int marks = (int)(bins[i] * scale);
|
||||||
for (int j = 0; j < marks; j++) {
|
for (int j = 0; j < marks; j++) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user