Skip to content

ElectroZybr/graphics_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

graphics_analyzer

Simple interactive plotting toolkit based on pyqtgraph.

The window contains two independent plots:

  • Function plot (main graph and points)
  • Error plot (for error curves or any additional metric)

Each plot has independent pan/zoom controls.

Requirements

  • Python 3.10+
  • numpy
  • pyqtgraph
  • Qt backend (PyQt5, PyQt6, PySide2, or PySide6)

Install dependencies:

pip install numpy pyqtgraph PyQt6

Quick Start

Create and run a canvas:

from graphics_analyser import core

canvas = core.Canvas()
canvas.add_func("np.sin(x)", "blue")
canvas.exec()

Main API

  • Canvas.add_func(expr, color=None, fr=None)

    • Adds a function curve.
    • expr: expression string evaluated with x and np.
    • fr: render from x-value (render_from).
  • Canvas.update_func(func, new_func)

    • Updates a previously added function expression.
  • Canvas.add_point(x, y, color='w', size=0.05)

    • Adds a point to the main plot.
    • Point size is in plot coordinates (pxMode=False), so it scales with zoom.
  • Canvas.update_point(point, x, y)

    • Moves an existing point.
  • Canvas.add_error_plot(color='red')

    • Creates a line on the error plot.
  • Canvas.update_error_plot(line, x, y)

    • Updates line data on the error plot.
  • Canvas.exec()

    • Starts the Qt event loop.

Notes

  • UI updates should be done in the Qt main thread (for example via QTimer), not from Python background threads.
  • Expressions are evaluated through eval; use trusted inputs only.

graphics_analyzer (Русский)

Простой интерактивный инструмент для графиков на базе pyqtgraph.

Окно содержит два независимых графика:

  • Function (основной график и точки)
  • Error (для ошибок или любой дополнительной метрики)

Масштабирование и перемещение у графиков независимые.

Требования

  • Python 3.10+
  • numpy
  • pyqtgraph
  • Qt-бэкенд (PyQt5, PyQt6, PySide2 или PySide6)

Установка:

pip install numpy pyqtgraph PyQt6

Быстрый старт

from graphics_analyser import core

canvas = core.Canvas()
canvas.add_func("np.sin(x)", "blue")
canvas.exec()

Основной API

  • Canvas.add_func(expr, color=None, fr=None)

    • Добавляет график функции.
    • expr: строка выражения, где доступны x и np.
    • fr: рисовать начиная с заданного x (render_from).
  • Canvas.update_func(func, new_func)

    • Обновляет выражение добавленной функции.
  • Canvas.add_point(x, y, color='w', size=0.05)

    • Добавляет точку на основной график.
    • Размер задается в координатах графика (pxMode=False), поэтому меняется при масштабировании.
  • Canvas.update_point(point, x, y)

    • Перемещает существующую точку.
  • Canvas.add_error_plot(color='red')

    • Создает линию на графике Error.
  • Canvas.update_error_plot(line, x, y)

    • Обновляет данные линии на графике Error.
  • Canvas.exec()

    • Запускает Qt event loop.

Примечания

  • Обновлять UI нужно из главного Qt-потока (например, через QTimer), а не из фоновых Python-потоков.
  • Выражения считаются через eval; используйте только доверенные входные данные.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages