From 76c58a3c2e98f9f47ec20d53432489c00249a9b1 Mon Sep 17 00:00:00 2001 From: VinogradovMA Date: Thu, 1 May 2025 02:03:41 +0300 Subject: [PATCH] code:svg_output_rectangle2.0[5] --- svg.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/svg.cpp b/svg.cpp index 607a0f7..3289cd3 100644 --- a/svg.cpp +++ b/svg.cpp @@ -13,9 +13,24 @@ void svg_end() { } void show_histogram_svg(const std::vector& bins) { + const auto IMAGE_WIDTH = 400; + const auto IMAGE_HEIGHT = 300; + const auto TEXT_LEFT = 20; + const auto TEXT_BASELINE = 20; + const auto TEXT_WIDTH = 50; + const auto BIN_HEIGHT = 30; + const auto BLOCK_WIDTH = 10; svg_begin(400, 300); svg_text(20, 20, std::to_string(bins[0])); svg_rect(50, 0, bins[0] * 10, 30); + + double top = 0; + for (size_t bin : bins) { + const double bin_width = BLOCK_WIDTH * bin; + svg_text(TEXT_LEFT, top + TEXT_BASELINE, std::to_string(bin)); + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); + top += BIN_HEIGHT; + } svg_end(); } void svg_text(double left, double baseline, std::string text) {