Как я могу создать веб-интерфейс для matplotlib? - PullRequest
24 голосов
/ 13 марта 2011

Я чувствую, что должен начать этот вопрос с упоминания, что я инженер-химик, а не обученный программист (но я готов учиться).

Я обрабатываю много спектров, которые по сути являются файлами ASCII с координатами x, y, созданными специальным программным обеспечением спектрометра. Стандартное программное обеспечение, используемое для анализа, это Origin от Originlab , но я считаю, что оно не удобное для пользователя, оно имеет намного больше функций, чем мне нужно, и оно не бесплатно.

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

Я просто озадачен, с чего начать, поэтому вопрос на самом деле таков: Какой самый простой способ разработать интерфейс / графический интерфейс для matplotlib, который позволяет мне программировать вещи, которые я упомянул выше? Кроме того, кросс-платформенное приложение было бы хорошо, потому что многие из моей группы работают в Windows.

Ответы [ 2 ]

12 голосов
/ 13 марта 2011
1 голос
/ 13 марта 2011

Я не совсем уверен, что вы спрашиваете. Matplotlib уже имеет интерактивный графический интерфейс, если вы вызываете его, например, из оболочки Python или ipython. Вы читаете или создаете свои данные, и когда вы звоните plot(), вы получаете масштабируемое окно, из которого вы можете сохранить изображение и т. Д.

Вы можете написать свои собственные процедуры для таких вещей, как обнаружение пиков, и просто вызывать их в интерактивном режиме из терминала. В конце дня, пока ваша функция создает набор данных (x, y), вы можете построить их в интерактивном режиме. Тогда опыт скорее похож на Matlab. Именно так большинство известных мне ученых используют matplotlib.

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

...