Столбчатая диаграмма

Описание проекта: Генерация столбчатой диаграммы

Цель проекта

Проект направлен на создание визуализации данных в виде столбчатой диаграммы с использованием языка программирования OpenSCAD. Диаграмма позволяет наглядно представить набор числовых данных, что может быть полезно для анализа и сравнения различных значений.

Основные компоненты проекта

  1. Модуль диаграммы (diagram):

    • Принимает параметры: ширину (width), высоту (height) и заголовок (title).
    • Создает фон диаграммы с заданными размерами и цветом.
    • Отображает заголовок диаграммы в верхней части.
  2. Функция рисования столбиков (draw_bars):

    • Принимает массив данных (data), ширину и высоту диаграммы.
    • Вычисляет ширину каждого столбика на основе общего количества данных.
    • Рисует столбики диаграммы, используя заданные значения из массива данных, окрашивая их в синий цвет.
  3. Пример данных:

    • В проекте используется массив данных [30, 50, 20, 40, 60], который служит примером для визуализации. Эти значения определяют высоту каждого столбика диаграммы.
  4. Визуальные элементы:

    • Фон диаграммы выполнен в светло-сером цвете, что позволяет выделить столбики.
    • Заголовок диаграммы размещается в центре верхней части, что делает его легко читаемым.

Применение

Данный проект может быть использован в различных областях, таких как:

  • Образование: для визуализации статистических данных на уроках.
  • Бизнес: для представления финансовых показателей или результатов продаж.
  • Научные исследования: для демонстрации результатов экспериментов.

Заключение

Проект по созданию столбчатой диаграммы является простым, но эффективным инструментом для визуализации данных. Он может быть легко адаптирован под различные наборы данных и стили оформления, что делает его универсальным решением для представления информации.

// Параметры диаграммы
module diagram(width, height, title) {
    // Фон диаграммы
    color("lightgray")
        cube([width, height, 1]);

    // Заголовок диаграммы
    translate([width / 2, height - 10, 1])
        linear_extrude(height = 3)
            text(title, size=7, valign="center", halign="center");


    // Пример данных для диаграммы
    data = [30, 50, 20, 40, 60];
    draw_bars(data, width, height);
}

// Функция для рисования столбиков диаграммы
module draw_bars(data, width, height) {
    bar_width = width / len(data);
    for (i = [0 : len(data) - 1]) {
        bar_height = data[i];
        translate([i * bar_width, 0, 1])
            color("blue")
                cube([bar_width - 1, bar_height, 5]);
    }
}

// Вызов модуля диаграммы с параметрами
diagram(100, 90, "Пример диаграммы");
3D вид:
Скачать stl файл