TimeSeriesQL-Matplotlib
A plotting backend for the TimeSeriesQL library
Table of Contents
About The Project
This project adds a matplotlib plotting backend for the TimeSeriesQL project.
Built With
Getting Started
To get a local copy up and running follow these simple steps.
Prerequisites
The requirements are in the requirements.txt file.
Installation
pip
pip install timeseriesql-matplotlib
manual
- Clone the timeseriesql-matplotlib
git clone https:://github.com/mbeale/timeseriesql-matplotlib.git
- Install library
cd timeseriesql-matplotlib
python setup.py install
Usage
The charting library operates on TimeSeries objects. The Axes can be overriden to control the placement of the charts. All the below examples use the following code:
import matplotlib.pyplot as plt
from timeseriesql_matplotlib import MatplotlibTQL as mp
from timeseriesql.backends.csv_backend import CSVBackend
data = CSVBackend(x for x in "AAPL.csv")[:] #CSV of AAPL stock data header = (open, close, high, low, adj close)
Line Plot
mp().line_plot(data)
plt.show()
Stacked Plot
mp().stacked_plot(data)
plt.show()
Timebox Plot
mp().line_plot(data)
timebox_plot(data[:,0])
"""
the plot arguement defaults to auto but you can set a specific period
s - second buckets
m - minute buckets
h - hour buckets
d - day buckets
mth - month buckets
y - year buckets
"""
Distribution Plot
mp().dist_plot(data[:,0], percentiles=[25,75]) #percentiles are optional
plt.show()
Correlogram Plot
mp().correlogram_plot(data)
plt.show()
Text Plot
mp().line_plot(data)
mp().text_plot(data[-1,0], title="A Nice Text Box", thresholds=[(0, 'green', 'white'), (20, 'cornflowerblue', 'white'), (None, 'darkorange', 'white')])
Layout Example
from matplotlib.gridspec import GridSpec
fig = plt.figure(constrained_layout=True, figsize=(20,20))
gs = GridSpec(4, 4, figure=fig)
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
ax3 = fig.add_subplot(gs[0, 2])
ax4 = fig.add_subplot(gs[0, 3])
ax5 = fig.add_subplot(gs[1:3, :3])
ax6 = fig.add_subplot(gs[1, 3])
ax7 = fig.add_subplot(gs[2, 3])
ax8 = fig.add_subplot(gs[3, :2])
ax9 = fig.add_subplot(gs[3, 2:])
mp().text_plot(data[:,0].mean(), ax=ax1, title="Avg Close")
mp().text_plot(data[:,1].mean(), ax=ax2, title="Avg High")
mp().text_plot(data[:,2].mean(), ax=ax3, title="Avg Low")
mp().line_plot(data[:,0], ax = ax4)
mp().line_plot(data, ax=ax5)
mp().line_plot(data[:,1], ax=ax6)
mp().line_plot(data[:,2], ax=ax7)
mp().line_plot(data[:,3], ax=ax8)
mp().line_plot(data[:,4], ax=ax9)
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Michael Beale - michael.beale@gmail.com
Project Link: https://github.com/mbeale/timeseriesql-matplotlib
Release files for timeseriesql-matplotlib 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| timeseriesql-matplotlib-0.0.2.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| timeseriesql_matplotlib-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / timeseriesql-matplotlib-0.0.2.tar.gz
| Download URL | timeseriesql-matplotlib-0.0.2.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4ec0b6b12bfd626fd161714ba496b7a5d94865b061a636046f0410535481101
|
|
BLAKE2b-256 checksum How to use checksums |
59a253ecd77aa47579160781a7989daae0d8ff30ef3156141789b176327731d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|
Release files / timeseriesql_matplotlib-0.0.2-py3-none-any.whl
| Download URL | timeseriesql_matplotlib-0.0.2-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f62747fee66084d518b3e589a1891d5b47e626e713b8afbec3593097607eb837
|
|
BLAKE2b-256 checksum How to use checksums |
68953ba245f690c63cad9ae82003ca1a708fe904c9eb0dca9240a200545a787c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
|