code: svg первые графики
Этот коммит содержится в:
5
ARM64/Debug/marks.svg
Обычный файл
5
ARM64/Debug/marks.svg
Обычный файл
@@ -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 |
3
ARM64/Debug/marks.txt
Обычный файл
3
ARM64/Debug/marks.txt
Обычный файл
@@ -0,0 +1,3 @@
|
|||||||
|
10
|
||||||
|
3 3 4 4 4 4 4 5 5 5
|
||||||
|
3
|
||||||
@@ -54,7 +54,7 @@ int main()
|
|||||||
// Функция main
|
// Функция main
|
||||||
auto in = input_data(); // Ввод структуры
|
auto in = input_data(); // Ввод структуры
|
||||||
auto bins = make_histogram(in.numbers, in.bin_count); // Распределние по корзинам
|
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 <iostream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "histogram.h"
|
#include "histogram.h"
|
||||||
@@ -8,6 +9,43 @@
|
|||||||
|
|
||||||
using namespace std;
|
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) {
|
void show_histogram_text(const vector <size_t> bins, const size_t bin_count) {
|
||||||
// Ìàêñèìàëüíîå â êîîðçèíàõ
|
// Ìàêñèìàëüíîå â êîîðçèíàõ
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
void show_histogram_text(std::vector <size_t> bins, size_t bin_count);
|
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
|
#endif // TEXT_H_INCLUDED
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user