*/
struct chart_item *
barchart_create (const struct variable **var, int n_vars,
- const char *ylabel,
+ const char *ylabel, bool percent,
struct freq *const *cats, int n_cats)
{
struct barchart *bar;
assert (n_vars >= 1);
bar = xzalloc (sizeof *bar);
+ bar->percent = percent;
bar->var = var;
bar->n_vars = n_vars;
bar->n_nzcats = n_cats;
struct freq *c = cats[i];
struct freq *foo;
- int flag = 0;
+ bool flag = false;
size_t hash = hash_freq_2level_ptr (&c, bar);
HMAP_FOR_EACH_WITH_HASH (foo, struct freq, node, hash, &level2table)
{
if (0 == compare_freq_2level_ptr_3way (&foo, &c, bar))
{
foo->count += c->count;
+ bar->total_count += c->count;
if (foo->count > bar->largest)
bar->largest = foo->count;
- flag = 1;
+ flag = true;
break;
}
}
if (c->count > bar->largest)
bar->largest = aggregated_freq->count;
+ bar->total_count += c->count;
bar->cats[x++] = aggregated_freq;
}
}