diff --git a/project3.depend b/project3.depend index f777c7f..8b28acb 100644 --- a/project3.depend +++ b/project3.depend @@ -1,5 +1,5 @@ # depslib dependency file v1.0 -1682333921 source:c:\users\hp\desktop\lab-03\project3\main.cpp +1685882979 source:c:\users\hp\desktop\lab-03\project3\main.cpp @@ -12,7 +12,7 @@ 1682271918 c:\users\hp\desktop\lab-03\project3\histogram.h -1682280773 source:c:\users\hp\desktop\lab-03\project3\histogram.cpp +1685882979 source:c:\users\hp\desktop\lab-03\project3\histogram.cpp @@ -20,7 +20,7 @@ "histogram_internal.h" -1682280773 source:c:\users\hp\desktop\lab-03\project3\text.cpp +1685882979 source:c:\users\hp\desktop\lab-03\project3\text.cpp @@ -33,14 +33,12 @@ 1682275464 c:\users\hp\desktop\lab-03\project3\histogram_internal.h -1682282112 source:c:\users\hp\desktop\lab-03\project3\svg.cpp - +1685883368 source:c:\users\hp\desktop\lab-03\project3\svg.cpp - - - "svg.h" + + -1682278136 c:\users\hp\desktop\lab-03\project3\svg.h +1685882979 c:\users\hp\desktop\lab-03\project3\svg.h diff --git a/project3.layout b/project3.layout index 367d5da..b463bd3 100644 --- a/project3.layout +++ b/project3.layout @@ -2,42 +2,32 @@ - + - + - + - + - - - - - - - - - - - + - + - + - + - + - + diff --git a/svg.cpp b/svg.cpp index f81e0c2..0ab956d 100644 --- a/svg.cpp +++ b/svg.cpp @@ -1,11 +1,9 @@ -#include #include -#include -#include -#include #include "svg.h" -using namespace std; +#include +#include +using namespace std; void svg_begin(double width, double height) { @@ -21,17 +19,22 @@ void svg_end() { cout << "\n"; } + +int color(int bin, int max_count) { + int color; + return color = round((10 - (bin * 9) / max_count)); +} + void svg_text(double left, double baseline, string text) { - cout << "" << text << ""; + cout << " " << text << ""; } -void svg_rect(double x, double y, double width, double height, string colour = "black", string fill = "black"){ - cout << ""; +void svg_rect(double x, double y, double width, double height, string stroke, string fill) { + cout << "" << ""; } -void -show_histogram_svg(const vector& bins) { +void show_histogram_svg(const vector& bins) { const auto IMAGE_WIDTH = 400; const auto IMAGE_HEIGHT = 300; const auto TEXT_LEFT = 20; @@ -39,17 +42,21 @@ show_histogram_svg(const vector& bins) { const auto TEXT_WIDTH = 50; const auto BIN_HEIGHT = 30; const auto BLOCK_WIDTH = 10; + + + svg_begin(400, 300); + double top = 0; double max_count = bins[0]; for (size_t i = 0; i < bins.size(); i++) { if (bins[i] > max_count) max_count = bins[i]; } - svg_begin(400, 300); for (size_t bin : bins) { - const double bin_width = (IMAGE_WIDTH - TEXT_WIDTH)*(bin/max_count); + int temp_color = color(bin, max_count); + const double bin_width = (IMAGE_WIDTH - TEXT_WIDTH) * (bin / max_count); svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); - svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, "blue", "#FF00FF"); + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, to_string(temp_color), to_string(temp_color)); top += BIN_HEIGHT; } svg_end();