QuickGraphLib 0.1.0a9 documentation

The QuickGraphLib module provides a collection of types that can be composed to create complex and fast scientific graphs.

The QuickGraphLib module provides a QML API and a C++/Python API.

Using the Module

The QML types of the module are available through the QuickGraphLib import. To use the types, add the following import statement to your .qml file:

 import QuickGraphLib

Important Concepts

Reference

Examples

The example gallery can be run using (provided the Python environment has PySide6 and contourpy installed):

 python examples\gallery.py

Basic histogram

A simple histogram of a normal function.

Basic sin graph

A simple graph of a sin function.

Basic sin graph (without prefabs)

A simple graph of a sin function (without prefabs).

Builtin color maps

All of the builtin color maps.

Color mapped images

Colorised Sierpinski triangles using 4 of the builtin color maps.

Color mesh

Displays an image on an axes.

Complex graph

A complex graph with lines, histograms, changing data and user interaction.

Contours

A graph with contour lines and fills.

Conway's Game of Life

A implementation of Conway's Game of Life cellular automaton (and variants).

Dark theme sin graph

An example of customising colors to make a dark theme.

Draggable region

A graph with a draggable and resizable region.

Graph with all four axes

A simple graph of a sin function with all four axes shown.

Image alignment

Various image alignments and fills.

Inverted axes

Example of inverted axes.

Readout line

A graph with a movable line that shows the X and Y value at that position.

Scaled graph

A simple graph with a fixed size which is scaled to fit the UI.

Scatter graph

A simple scatter graph with transparent markers.

Spans and lines

Axis spans and lines.

Subgraphs

Four subgraphs with hidden axes.

Twinned X axis

Two graphs with different GraphAreas sharing the same X axis.

Zoomable as image

Zoom into a graph as if it were an image.

Zoomable axes

Zooming adjusts the axes' limits.

Licenses and Attributions

QuickGraphLib is distributed under the MIT licence (displayed below). However, the Qt (and PySide6) libraries it depends on are licenced under the LGPL v3 unless you have a commercial licence.

 MIT License

 Copyright (c) 2024 Refeyn Ltd and other QuickGraphLib contributors

 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:

 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.