diff --git a/main.cpp b/main.cpp index 4c7ecad..b71ca3a 100644 --- a/main.cpp +++ b/main.cpp @@ -43,7 +43,7 @@ int main() auto in = input_data(); auto bins = make_histogram(in.numbers, in.bin_count); auto procent = make_histogram_proc(in.numbers, in.bin_count, bins); - show_histogram_svg(bins, procent); + show_histogram_svg(bins); return 0; } diff --git a/svg.cpp b/svg.cpp index b0613be..11e48d9 100644 --- a/svg.cpp +++ b/svg.cpp @@ -22,7 +22,7 @@ svg_end() { void svg_text(double left, double baseline, string text) { - cout << " "<< text <<" "; + cout << " "<< text <<" "; } void @@ -31,12 +31,7 @@ svg_rect(double x, double y, double width, double height){ } void -svg_procent(double left_procent, double baseline, string text) { - cout << " "<< text <<"% "; -} - -void -show_histogram_svg(const vector& bins, const vector& procent) { +show_histogram_svg(const vector& bins) { const auto IMAGE_WIDTH = 400; const auto IMAGE_HEIGHT = 300; const auto TEXT_LEFT = 20; @@ -44,9 +39,8 @@ show_histogram_svg(const vector& bins, const vector& procent) { const auto TEXT_WIDTH = 50; const auto BIN_HEIGHT = 30; const auto BLOCK_WIDTH = 10; - - const double SCALE_JOPA = IMAGE_WIDTH - TEXT_WIDTH; - svg_begin(800, 300); + const double SCALE = IMAGE_WIDTH - TEXT_WIDTH; + svg_begin(400, 300); double max_count = 0; @@ -55,27 +49,22 @@ show_histogram_svg(const vector& bins, const vector& procent) { max_count = x; } } - double top = 0; - if ((max_count*BLOCK_WIDTH)>SCALE_JOPA){ - for (size_t i = 0; i < bins.size(); i++) { - const double bin_width = SCALE_JOPA * ( bins[i] / max_count); - const auto TEXT_LEFT_PROCENT = SCALE_JOPA+TEXT_WIDTH+20; - svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bins[i])); + if ((max_count*BLOCK_WIDTH)>SCALE){ + for (size_t bin : bins) { + const double bin_width = SCALE * ( bin / max_count); + svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); - svg_procent(TEXT_LEFT_PROCENT, top + TEXT_BASELINE, to_string(procent[i])); top += BIN_HEIGHT; cout << endl; cout << bin_width; } } else{ - for (size_t i = 0; i < bins.size(); i++) { - const double bin_width = BLOCK_WIDTH * bins[i]; - const auto TEXT_LEFT_PROCENT = (max_count * BLOCK_WIDTH)+TEXT_WIDTH+20; - svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bins[i])); + for (size_t bin : bins) { + const double bin_width = BLOCK_WIDTH * bin; + svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); - svg_procent(TEXT_LEFT_PROCENT, top + TEXT_BASELINE, to_string(procent[i])); top += BIN_HEIGHT; cout << endl; cout << bin_width; @@ -87,4 +76,3 @@ show_histogram_svg(const vector& bins, const vector& procent) { - diff --git a/svg.h b/svg.h index 120612c..ac36df3 100644 --- a/svg.h +++ b/svg.h @@ -2,6 +2,6 @@ #define SVG_H_INCLUDED void -show_histogram_svg(const std::vector& bins, const std::vector& procent); +show_histogram_svg(const std::vector& bins); #endif // SVG_H_INCLUDED