Когда я писал диссертацию по физической химии, этого инструмента мне очень не хватало. Намучившись с Origin, Excel, Matplotlib и Python в голове появился список того функционала, который хотелось бы иметь для анализа зависимостей количества различных химических соединений от температуры.
И вот, вооружившись ChatGPT для ускорения процесса, я написал программу, которую здесь опишу и исходный код которой выложу для свободного использования.
Для анализа нам понадобятся данные: файлы в формате .csv следующего содержания:
T |
K2O*4SiO2 |
K2Si2O5_-a,monoc |
SiO2_quartz,low; |
SiO2_tridymaite, |
273.0 |
0.0 |
1.0 |
97.0 |
0.0 |
906.312635790846 |
0.0 |
1.0 |
97.0 |
0.0 |
906.312635790846 |
0.0 |
1.0 |
0.0 |
97.0 |
1167.0726481025495 |
0.0 |
1.0 |
0.0 |
97.0 |
1167.0726481025495 |
1.0 |
0.0 |
0.0 |
95.0 |
1846.5447476100812 |
1.0 |
0.0 |
0.0 |
95.0 |
1846.5447476100812 |
1.0 |
0.0 |
95.0 |
0.0 |
2000.0 |
1.0 |
0.0 |
95.0 |
0.0 |
Здесь первый столбец – это значение температуры, верхняя строка содержит формулы и/или названия химических веществ, а всё, что между – количество вещества в любых единицах.
Исходный код приложения можно скачать здесь. Там лежат и файлы данных для примера.
Вот список основных реализованных в настоящий момент функций:
Одновременное открытие любого количества графиков;
Возможность раздельного и совместного масштабирования;
Работа с набором графиком, как с проектом: сохранение, загрузка;
Экспорт графиков в виде картинок.
Порядок работы:
Жмём на кнопку «+» внизу справа и добавляем график. Повторяем, если нужно открыть несколько графиков.
В открывшихся окнах можно выделить цветом любое количество графиков, выделив соответствующие названия веществ (несколько – с нажатой кнопкой Ctrl/Command). Можно отключить показ графика любого вещества, убрав чекбокс.
В основном окне программы можно изменить масштаб одновременно всех открытых графиков: изменить диапазон по каждой оси, вернуться к первоначальному масштабу и пр.
В основном окне программы, выбрав название графика, можно индивидуально менять масштаб графиков.
Планирую внедрить еще полезные функции:
Возможность перерисовать графики в стандартной и логарифмической шкалах.
Возможность добавлять подписи.
Построение графика зависимости давления газов при заданном объеме.
Функционал и область применения программы достаточно специфична, не так много специалистов, кому она нужна. Но всё же, если вам текущий функционал окажется полезным, напишите в комментариях, чего не хватает.