code: svg первые графики

main
SukhotinMD 2 месяцев назад
Родитель 37124aec8f
Сommit 54fc874282

@ -0,0 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg width='400' height='300' viewBox='0 0 400 300' xmlns='http://www.w3.org/2000/svg'>
<text x='20' y='35'>2</text>
<rect x='50' width='20' height='30' rx ='0' />
</svg>

После

Ширина:  |  Высота:  |  Размер: 210 B

@ -0,0 +1,3 @@
10
3 3 4 4 4 4 4 5 5 5
3

@ -54,7 +54,7 @@ int main()
// Функция main
auto in = input_data(); // Ввод структуры
auto bins = make_histogram(in.numbers, in.bin_count); // Распределние по корзинам
show_histogram_text(bins, in.bin_count); // Вывод графика
show_histogram_svg(bins); // Вывод графика

@ -1,5 +1,6 @@
#include <iostream>
#include <vector>
#include <string>
#include "text.h"
#include "histogram.h"
@ -8,6 +9,43 @@
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>" << endl;
}
void svg_rect(double x, double y, double width, double height) {
cout << "<rect x='" << x << "' width='" << width << "' height='" << height << "' rx ='" << y << "' />" << endl;
}
void
show_histogram_svg(const vector<size_t> bins) {
svg_begin(400, 300);
svg_text(20, 35, to_string(bins[0]));
svg_rect(50, 0, bins[0] * 10, 30);
svg_end();
}
void show_histogram_text(const vector <size_t> bins, const size_t bin_count) {
// Ìàêñèìàëüíîå â êîîðçèíàõ

@ -6,5 +6,7 @@
#include <vector>
void show_histogram_text(std::vector <size_t> bins, size_t bin_count);
void show_histogram_svg(const std::vector<size_t> bins);
#endif // TEXT_H_INCLUDED

Загрузка…
Отмена
Сохранить