Когда я писал диссертацию по физической химии, этого инструмента мне очень не хватало. Намучившись с 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). Можно отключить показ графика любого вещества, убрав чекбокс.

  • В основном окне программы можно изменить масштаб одновременно всех открытых графиков: изменить диапазон по каждой оси, вернуться к первоначальному масштабу и пр.

  • В основном окне программы, выбрав название графика, можно индивидуально менять масштаб графиков.

Планирую внедрить еще полезные функции:

  • Возможность перерисовать графики в стандартной и логарифмической шкалах.

  • Возможность добавлять подписи.

  • Построение графика зависимости давления газов при заданном объеме. 

Функционал и область применения программы достаточно специфична, не так много специалистов, кому она нужна. Но всё же, если вам текущий функционал окажется полезным, напишите в комментариях, чего не хватает.

Комментарии (0)