TupikovAA 5 дней назад
Родитель 574585c9e0
Сommit 07d213c312

@ -8,7 +8,7 @@ int main() {
Input data = input_data(); Input data = input_data();
auto bins = make_histogram(data.numbers, data.bin_count); auto bins = make_histogram(data.numbers, data.bin_count);
// Запрос параметров пунктира
int dash_len, gap_len; int dash_len, gap_len;
cout << "Enter dash length (e.g., 20): "; cout << "Enter dash length (e.g., 20): ";
cin >> dash_len; cin >> dash_len;

@ -49,7 +49,7 @@ namespace svg {
return; return;
} }
// Увеличиваем максимальную ширину для лучшего отображения
double max_width = IMAGE_WIDTH - TEXT_WIDTH - 100; double max_width = IMAGE_WIDTH - TEXT_WIDTH - 100;
double scale = max_width / max_count; double scale = max_width / max_count;
@ -57,23 +57,22 @@ namespace svg {
for (size_t bin : bins) { for (size_t bin : bins) {
double width = bin * scale; double width = bin * scale;
// Подпись значения (крупнее и четче)
out << "<text x='" << TEXT_LEFT << "' y='" << top + TEXT_BASELINE + 15 out << "<text x='" << TEXT_LEFT << "' y='" << top + TEXT_BASELINE + 15
<< "' font-size='14' fill='black'>" << bin << "</text>\n"; << "' font-size='14' fill='black'>" << bin << "</text>\n";
// Основной столбец
rect(out, TEXT_WIDTH, top, width, BIN_HEIGHT, "#333333", "#4CAF50"); rect(out, TEXT_WIDTH, top, width, BIN_HEIGHT, "#333333", "#4CAF50");
// Пунктирная линия (толще и контрастнее)
out << "<line x1='" << TEXT_WIDTH << "' y1='" << top + BIN_HEIGHT/2 out << "<line x1='" << TEXT_WIDTH << "' y1='" << top + BIN_HEIGHT/2
<< "' x2='" << TEXT_WIDTH + width << "' y2='" << top + BIN_HEIGHT/2 << "' x2='" << TEXT_WIDTH + width << "' y2='" << top + BIN_HEIGHT/2
<< "' stroke='white' stroke-width='3' " << "' stroke='white' stroke-width='3' "
<< "stroke-dasharray='" << dash_length << "," << gap_length << "' />\n"; << "stroke-dasharray='" << dash_length << "," << gap_length << "' />\n";
top += BIN_HEIGHT + 10; // Добавляем отступ между столбцами top += BIN_HEIGHT + 10;
} }
// Добавляем рамку вокруг всей гистограммы
out << "<rect x='" << TEXT_WIDTH-5 << "' y='0' width='" << max_width+10 out << "<rect x='" << TEXT_WIDTH-5 << "' y='0' width='" << max_width+10
<< "' height='" << top << "' fill='none' stroke='black' stroke-width='2'/>\n"; << "' height='" << top << "' fill='none' stroke='black' stroke-width='2'/>\n";

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