QCharted
Plotting large data series using PyQtChart.
Currently supports LineSeries, SplineSeries and ScatterSeries.
Quick start
Install using pip.
pip install QCharted
Create a plot widget, assign two axes and some line series.
import sys
from PyQt5 import QtCore, QtWidgets
from QCharted import Chart, ChartView
app = QtWidgets.QApplication(sys.argv)
# Create chart
chart = Chart()
# Create multiple axis
x = chart.addDateTimeAxis(QtCore.Qt.AlignBottom)
x.setTitleText("Time")
y1 = chart.addValueAxis(QtCore.Qt.AlignLeft)
y1.setTitleText("Temp")
y2 = chart.addValueAxis(QtCore.Qt.AlignRight)
y2.setTitleText("Humid")
# Create multiple series
temp = chart.addLineSeries(x, y)
temp.setPen(QtCore.Qt.red)
humid = chart.addLineSeries(x, y)
humid.setPen(QtCore.Qt.blue)
# Replace data, note the `data()` method
temp.data().replace([(0, 21.8), (1, 22.3)])
humid.data().replace([(0, 50.3), (1, 51.1)])
# Append data, note the `data()` method
temp.data().append(2, 22.1)
humid.data().append(2, 51.0)
# Create chart view
view = ChartView()
view.setChart(chart)
view.show()
# Fit to extent
chart.fit()
app.exec_()
Custom series classes
Actual data is stored in a data property using numpy.
# Instead of QLineSeries()
series = LineSeries()
# Replace data
series.data().replace([...])
# Append to data
series.data().append(2, 3)
# Clear data
series.data().clear()
Example application
The supplied example application renders 16 x 250k data samples fluently even while zooming. The QtChart line series only contain a sampled subset of the actual data. See examples/main.py for the example source.
Make sure to first install additional dependencies provided in requirements.txt.
python -m venv env
. env/bin/activate
(env) pip install -r requirements.txt
(env) python setup.py develop
(env) python examples/main.py
Run the application with different options to see live plotting in action.
(env) python examples/main.py -c 8 -s 100
License
QCharted is licensed under the GNU General Public License Version 3.
Metadata
Release files for QCharted 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| QCharted-1.1.3.tar.gz | 19.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| QCharted-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.1 kB
Release files / QCharted-1.1.3.tar.gz
| Download URL | QCharted-1.1.3.tar.gz |
|---|---|
| Size | 19.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cb64ae5958727dbcc224c9be33f1b59be827c24090de8fdc84448973c91d14b
|
|
BLAKE2b-256 checksum How to use checksums |
5c3ad1d35981013242cabbbc51ae377a9a6d4b178c699c901033e88b9dfa7bc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|
Release files / QCharted-1.1.3-py3-none-any.whl
| Download URL | QCharted-1.1.3-py3-none-any.whl |
|---|---|
| Size | 19.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f9b741370ba18e4f220a1922b1ec2b352255fbf7525f53a6371973c5092773d
|
|
BLAKE2b-256 checksum How to use checksums |
4aa6082747fd0c8631c543a22961c686a7de1baacd71a121fb8c5bd659e45006
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|