Вопрос или проблема
Я хочу отслеживать пищевую ценность разных видов муки с течением времени. На данный момент у меня есть
таблица данных такого вида:
|------------|------------|------------|------------|
| Мука | Дата | Энергия | Сахар |
|------------|------------|------------|------------|
| тип 1 | 03/20 | 310 | 2 |
| тип 2 | 03/20 | 290 | 1.8 |
| тип 1 | 04/20 | 310 | 2.1 |
| тип 2 | 04/20 | 287 | 1.7 |
Со временем я буду добавлять больше значений по питательной ценности для видов муки, уже находящихся в таблице, а также, возможно, добавлю больше типов муки. Также возможно, я захочу добавить дополнительные столбцы, например, для белка. Питательные значения разных типов муки затем должны быть отображены во времени таким образом:
Энергия
|
| * * * тип 1
| # # тип 2
| #
|
|-----------------------Дата
03/20 04/20
Какие лучшие инструменты для реализации такого проекта?
Мои ограничения заключаются в том, что я хочу использовать только бесплатное и открытое ПО, которое работает под Arch Linux, и чтобы можно было экспортировать графики.
Я бы рекомендовал библиотеки Python: matplotlib и seaborn для создания и экспорта статических графиков или Plotly для интерактивных графиков с элементами наведения, которые вы можете экспортировать в веб-браузер.
Я предлагаю использовать R. Он позволяет легко работать с данными, включая хороший интерфейс (RStudio) и инструменты для создания качественных графиков (например, ggplot2
).
df = data.frame(c(1,2,3,4,3,4,8,6,2,3),c(5,4,3,6,5,4,2,6,7,8),c(1,2,3,4,5,6,7,8,9,10))
colnames(df)<-c("a","b","c")
df
library(reshape)
df2 = melt(data = df, measure.vars = c("a", "b"))
library(ggplot2)
ggplot(df2, aes(x = c, y = value, colour = variable)) +
geom_smooth() + geom_point() +
xlab("Моя x") + ylab("Моя y") +
ggtitle("Мой ggplot") +
labs(color="Тип")
Ответ или решение
Для отслеживания и визуализации данных о питательной ценности различных видов муки на Linux-дистрибутиве Arch Linux, вам следует рассмотреть использование нескольких мощных и бесплатных инструментов. Учитывая ваши требования, я рекомендую обратить внимание на следующие программы и библиотеки:
1. Python
Python является отличным выбором для работы с данными благодаря своим мощным библиотекам для визуализации:
-
Pandas: Библиотека для удобной обработки и анализа данных. Она позволяет легко работать с таблицами данных, аналогично электронным таблицам.
-
Matplotlib: Это библиотека Python для создания статических графиков и диаграмм. Она идеально подходит для построения базовых визуализаций, таких как линейные графики и гистограммы.
-
Seaborn: Обеспечивает улучшенные визуализации на основе Matplotlib. Подходит для создания более сложных и красивых графиков, включая временные ряды.
-
Plotly: Используется для создания интерактивных графиков, которые можно просматривать в веб-браузере. Поддерживает экспорт в HTML и другие форматы.
2. R
Если вам удобнее работать с языком R, он предлагает мощные инструменты для визуализации данных:
-
RStudio: Это интегрированная среда разработки (IDE) для R, она удобна для редактирования кода, выполнения сценариев и визуализации данных.
-
ggplot2: Одна из наиболее популярных библиотек для визуализации данных в R. Она позволяет быстро создавать высококачественные графики, включая линейные графики для временных рядов.
Пример использования ggplot2 для построения графиков:
df <- data.frame(Flour = c("type 1", "type 2", "type 1", "type 2"),
Date = c("03/20", "03/20", "04/20", "04/20"),
Energy = c(310, 290, 310, 287),
Sugar = c(2, 1.8, 2.1, 1.7))
library(ggplot2)
ggplot(df, aes(x = Date, y = Energy, color = Flour)) +
geom_line() +
geom_point() +
theme_minimal() +
labs(title = "Энергетическая ценность муки", x = "Дата", y = "Энергия (ккал)", color = "Тип муки")
3. Экспорт и использование
Все упомянутые инструменты позволяют экспортировать графики в различные форматы, такие как PNG, JPEG, и PDF, что удобно для отчетов и презентаций. Вы также можете сохранить интерактивные графики в HTML с использованием Plotly.
Заключение
Выбор инструмента будет зависеть от ваших предпочтений и знания языков программирования. Если вы хорошо владеете Python, Matplotlib и Seaborn станут оптимальными для статических визуализаций, а Plotly – для интерактивных. Если вы предпочитаете R, то RStudio и ggplot2 – идеальные кандидаты для этой задачи. Главное, что все эти инструменты работают на Arch Linux и предоставляются бесплатно с открытым исходным кодом.