From 71d0c43a9b7026a6af02d26bf3a7bf3b79f4b619 Mon Sep 17 00:00:00 2001 From: "Alice (VasinaEY)" <vasinaky@mail.ru> Date: Wed, 28 May 2025 16:09:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=20svg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg.cpp | 73 +++++++++++++++++++++++++++++++++++++++ svg.h | 11 ++++++ unittest/obj/Debug/svg.o | Bin 0 -> 77634 bytes unittest/unittest.layout | 15 ++++++++ 4 files changed, 99 insertions(+) create mode 100644 svg.cpp create mode 100644 svg.h create mode 100644 unittest/obj/Debug/svg.o create mode 100644 unittest/unittest.layout diff --git a/svg.cpp b/svg.cpp new file mode 100644 index 0000000..a8ec49a --- /dev/null +++ b/svg.cpp @@ -0,0 +1,73 @@ +#include "svg.h" + +using namespace std; + +void +svg_begin(double width, double height) +{ + cout << "<?xml version='1.0' encoding='UTF-8'?>\n"; + cout << "<svg "; + cout << "width='" << width << "' "; + cout << "height='" << height << "' "; + cout << "viewBox='0 0 " << width << " " << height << "' "; + cout << "xmlns='http://www.w3.org/2000/svg'>\n"; +} + +void +svg_end() +{ + cout << "</svg>\n"; +} + +void +svg_text(double left, double baseline, string text) +{ + cout << "<text x='" << left << "' y='" << baseline << "'>" << text << "</text>"; +} + +void +svg_rect(double x, double y, double width, double height, string stroke = "black", string fill = "black") +{ + cout << "<rect x='"<<x<<"' y='"<<y<<"' width='"<<width<<"' height='"<<height<<"' stroke='"<<stroke<<"' fill='"<<fill<<"' />"; + +} + + + +void +show_histogram_svg(const vector<size_t>& 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; + const auto YELLOW = "yellow"; + const auto PURPLE = "purple"; + const auto MAX_WIDTH = IMAGE_WIDTH-TEXT_WIDTH; + + + svg_begin(IMAGE_WIDTH,IMAGE_HEIGHT); + + double top = 0; + double max_count = bins[0]; + for (size_t i = 0; i < bins.size(); i++) + { + if (max_count<bins[i]) + { + max_count=bins[i]; + } + } + + for (size_t bin : bins) + { + double bin_width = (MAX_WIDTH)*(bin/max_count); + svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, YELLOW, PURPLE); + top += BIN_HEIGHT; + } + + svg_end(); +} diff --git a/svg.h b/svg.h new file mode 100644 index 0000000..1d17eb8 --- /dev/null +++ b/svg.h @@ -0,0 +1,11 @@ +#ifndef SVG_H_INCLUDED +#define SVG_H_INCLUDED + +#include <iostream> +#include <vector> +#include <string> +#include <math.h> +using namespace std; +void show_histogram_svg(const vector<size_t>& bins); + +#endif // SVG_H_INCLUDED diff --git a/unittest/obj/Debug/svg.o b/unittest/obj/Debug/svg.o new file mode 100644 index 0000000000000000000000000000000000000000..f0ed65d1d5f50e4a4524048d2b52dcd7d4ecca3f GIT binary patch literal 77634 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 K^PBL5-XLG~cKo9N literal 0 HcmV?d00001 diff --git a/unittest/unittest.layout b/unittest/unittest.layout new file mode 100644 index 0000000..acc1997 --- /dev/null +++ b/unittest/unittest.layout @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_layout_file> + <FileVersion major="1" minor="0" /> + <ActiveTarget name="Debug" /> + <File name="..\histogram.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> + <Cursor> + <Cursor1 position="227" topLine="0" /> + </Cursor> + </File> + <File name="..\unittest.cpp" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> + <Cursor> + <Cursor1 position="1327" topLine="0" /> + </Cursor> + </File> +</CodeBlocks_layout_file>