Добавлено нахождение средней высоты столбца и изменение цвета в зависимости от высоты столбца
Этот коммит содержится в:
6
svg.cpp
6
svg.cpp
@@ -45,16 +45,20 @@ void show_histogram_svg(const vector<size_t>& bins) {
|
||||
|
||||
double top = 0;
|
||||
size_t max_count = bins[0];
|
||||
double sum = 0;
|
||||
for (size_t bin : bins) {
|
||||
if (max_count < bin) {
|
||||
max_count = bin;
|
||||
}
|
||||
sum += bin;
|
||||
}
|
||||
double average = sum / bins.size();
|
||||
|
||||
for (size_t bin : bins) {
|
||||
const double bin_width = MAX_WIDTH * (static_cast<double>(bin) / max_count);
|
||||
svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin));
|
||||
svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "black", "red");
|
||||
string fill_color = (bin > average) ? "red" : "green";
|
||||
svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "black", fill_color);
|
||||
top += BIN_HEIGHT;
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user