Вопрос или проблема
Мне нужна библиотека для построения графиков, которая может использоваться для интерактивного построения графиков и генерировать графики прямо из командной строки. Plotly и Bokeh хороши, но предназначены для использования с веб-приложениями. Мне нужно отображать графики, как в matplotlib, из командной строки (в новом окне, а не в браузере), что, похоже, невозможно с другими библиотеками.
Есть ли какие-либо хорошие альтернативы?
Если вы будете использовать Java в качестве бэкенда для вашего Python-кода, вы можете обратить внимание на программу DataMelt. Вот галерея изображений, которые вы можете создать с помощью DataMelt:
https://jwork.org/dmelt/showcase/index.php
Обратите внимание, что вы можете писать фрагменты кода на Jython (Python, реализованный на Java), поэтому вы можете легко повторно использовать свой код CPython внутри DataMelt. Но вам нужно использовать классы Java, которые создают такие графики.
Ответ или решение
Если вы ищете библиотеки для интерактивной визуализации данных в Python, которые могут отображать графики в новом окне с командной строки, вы на правильном пути. Несмотря на популярность таких инструментов, как Plotly и Bokeh, которые ориентированы на веб-приложения, существуют альтернативы, которые могут удовлетворить ваши требования.
1. PyQTGraph
PyQTGraph — это мощная библиотека для визуализации данных и создания интерактивных графиков, построенная на основе PyQt или PySide. Она поддерживает отображение графиков в собственных окнах, что позволяет вам обойти необходимость в веб-браузере. PyQTGraph особенно хорош для отображения больших объемов данных, реализуя высокую скорость обработки и плавные анимации.
Ключевые особенности:
- Быстрая производительность для интерактивной визуализации.
- Возможность настройки графиков.
- Поддержка различных типов графиков и масштабирования.
2. Holoviews и Panel
Holoviews в комбинации с Panel обеспечивает мощный способ создания интерактивных графиков. Хотя они могут работать и в вебе, вы можете использовать их в режиме локальной работы, отображая графики в отдельном окне.
Ключевые преимущества:
- Высокий уровень абстракции, что позволяет проще строить сложные визуализации.
- Широкие возможности для интеграции с другими библиотеками, такими как Bokeh и Matplotlib.
- Поддержка различных источников данных.
3. Datashader
Datashader — это библиотека, предназначенная для создания графиков из больших объемов данных. Она не только позволяет визуализировать, но и эффективно обрабатывать большие данные. Datashader может использоваться в комбинации с другими библиотеками для получения интерактивных графиков.
Особенности:
- Обработка массивных наборов данных.
- Возможность интеграции с Bokeh и Matplotlib для вывода графиков в окнах.
4. DataMelt
Как упоминалось, DataMelt — это еще одно решение для интерактивного отображения данных, особенно если вы готовы использовать Java. Это программное обеспечение позволяет интегрировать Python (через Jython) и создает мощные графики с возможностью интерактивности.
Преимущества:
- Поддерживает написание кода на Jython, что дает доступ к Java-классам для построения графиков.
- Широкий спектр возможностей для визуализации с использованием Java-библиотек.
Заключение
При выборе библиотеки для интерактивной визуализации данных в Python, работающей из командной строки, стоит обратить внимание на PyQTGraph и Holoviews в сочетании с Panel. Если вы готовы рассмотреть использование Java, DataMelt может стать отличным вариантом. Каждое из этих решений имеет свои уникальные особенности, и выбор будет зависеть от ваших предпочтений и специфики задачи.