📄Работа №142502

Тема: Создание Kotlin API для Grammar of graphics

📝
Тип работы Бакалаврская работа
📚
Предмет прикладная информатика
📄
Объем: 38 листов
📅
Год: 2022
👁️
Просмотров: 68
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

Введение 4
Постановка задачи 5
Обзор литературы 7
1. Визуализация данных. Структура графика 9
1.1. Модель данных 9
1.2. Визуальная структура графика 10
1.2.1 Компоненты графика 10
1.2.2 Визуализация и чтение графика 10
1.3. Процесс визуализации 12
2. Промежуточное представление графика 14
2.1. Данные 14
2.2. Скейлы 14
2.2.1 Гиды 16
2.3. Эстетические атрибуты 16
2.4. Связывание 17
2.5. Слой 18
2.6. Особенности 19
2.7. График 19
2.8. Схема промежуточного представления 19
3. Предметно-ориентированный язык 22
3.1. Контексты 22
3.1.1 Базовый контекст 22
3.1.2 Контекст графика 22
3.1.3 Контекст слоя 23
3.2. Данные 23
3.3. Скейлы 23
3.4. Связывание 25
3.5. Добавление особенностей 26
3.6. Схема предметно-ориентированного языка 26
4. Трансляторы и особенности движков 27
4.1. Lets-Plot 27
4.1.1 Особенности 27
4.1.2 Транслятор 29
4.2. ECharts 29
4.2.1 Особенности 29
4.2.2 Транслятор 31
5. Технические детали и аналоги 32
5.1. Интеграции 32
5.1.1 Kotlin Jupyter Kernel 32
5.1.2 Kotlin Dataframe 32
5.2. Тестирование 33
5.3. Используемые технологии 33
5.4. Сравнение с аналогами 34
Заключение 36
Список литературы 37

📖 Введение

Grammar of graphics — это грамматика для задания графиков, описан­ная Леландом Уилкинсоном в одноименной работе [1]. На основе этой работы была создана библиотека ggplot2 [2] [3] для построения графиков на языке программирования R [4]. В ней для описания графиков используется синтак­сис, вдохновленный грамматикой Уилкинсона. На основе библиотеки ggplot2 в компании JetBrains была разработана библиотека Lets-Plot [5] для языка программирования Kotlin [6]. Однако API для построения графика был взят почти напрямую из ggplot2, и унаследовал его существенные недостатки — отсутствие типизации и типа безопасности, проблемы со структурой (такие как отсутствие иерархии элементов графика, разделение взаимосвязанных элементов графика). Он не задействует средства Kotlin для создания идиома­тичного синтаксиса, — например, внешних контекстов с получателями.

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе работы была разработаны предметно-ориентированный язык для построения графиков, который эффективно использует средства языка для достижения выразительности, читаемости и удобства. Он разработан таким образом, что в него можно вставлять особенности, зависящие от движка ви­зуализации.
Разработанное промежуточное представление графика позволяет эф­фективно использовать один и тот же код для построения графика для визуа­лизации в различных движках рендеринга. Благодаря простоте и универсаль­ности, трансляции осуществляться во многие движки и несложно реализует­ся.
Реализованные трансляторы позволяют использовать разработанный язык для построения графиков и визуализировать их с помощью движков Lets-Plot и Apache Echarts.
Реализованные интеграции позволяют работать с важнейшими элемен­тами экосистемы Kotlin for Data Science.
В результате работы все поставленные задачи были выполнены.
Разработанная библиотека в ближайшем будущем будет опубликована как часть официальных библиотек для языка Kotlin — kotlinx.
Весь код разработанного программного обеспечения доступен в пуб­личных репозиториях на платформе GitHub:
• https://github.com/AndreiKingsley/ggdsl
• https://github.com/AndreiKingsley/ggdsl-lets-plot
• https://github.com/AndreiKingsley/ggdsl-echarts
• https://github.com/AndreiKingsley/ggdsl-dataframe
Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

[1] L. Wilkinson: The Grammar of Graphics, Springer, 1999. ISBN 0-387-98774­
6.
[2] Документация ggplot2. URL: https://ggplot2.tidyverse.org/
index.html
[3] H. Wickham, D. Navarro, T. L. Pedersen: ggplot2: elegant graphics for data analysis. URL: https://ggplot2-book.org
[4] Язык программирования R. URL: https://www.r-project.org
[5] Библиотека Lets-Plot. URL: https://github.com/JetBrains/lets- plot-kotlin
[6] Язык программирования Kotlin. URL: https://kotlinlang.org
[7] Библиотека Apache ECharts. URL: https://echarts.apache.org/en/ index.html
[8] Язык программирования JavaScript. URL: https://
developer.mozilla.org/en-US/docs/Web/JavaScript
[9] Kotlin Jupyter Kernel. URL: https://github.com/Kotlin/kotlin- jupyter
[10] Jupyter Notebook. URL: https://jupyter.org
[11] Библиотека Kotlin Dataframe. URL: https://github.com/Kotlin/ dataframe
[12] The official U.S. government source for fuel economy information. URL: https://fueleconomy.gov
[13] A. Nozik: An introduction to context-oriented programming in Kotlin. URL: https://proandroiddev.com/an-introduction-context- oriented-programming-in-kotlin-2e79d316b0a2
[14] Система сборки Gradle. URL: https://gradle.org
[15] Библиотека Kotlin Test. URL: https://kotlinlang.org/api/latest/ kotlin.test/
[16] Библиотека kravis. URL: https://github.com/holgerbrandl/kravis
[17] Библиотека plotly.kt. URL: https://github.com/mipt-npm/plotly.kt
[18] Библиотека plotly. URL: https://plotly.com

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ