|
| 1 | +Madplotlib |
| 2 | +========== |
| 3 | + |
| 4 | +A C++ wrapper of Qt Charts that looks, tastes and smells like [matplotlib](https://github.com/matplotlib/matplotlib) but isn't. |
| 5 | + |
| 6 | +Madplotlib is a C++ header-only library that provides simple 2D plot capabilities, similar to [matplotlib](https://github.com/matplotlib/matplotlib) for Python. Madplotlib uses Qt Charts behind your back to render cool looking ~~cats~~ graphs that are easy to create with the help of [Eigen](eigen.tuxfamily.org). |
| 7 | + |
| 8 | +Installation |
| 9 | +------------ |
| 10 | +Make sure to use **Qt 5.7** or higher and that you have **Eigen 3.x** properly installed. |
| 11 | +After that, just add **Madplotlib.h** to your projects and don't worry about anything else. |
| 12 | +We got your back, Jack! |
| 13 | + |
| 14 | +Testing |
| 15 | +------- |
| 16 | +The companion ~~cube~~ file **eigen_tests.cpp** demonstrates several features offered by this library. |
| 17 | +Each test case is heavily commentted to make sure you know what it is doing and how. They are a great reference to get you quickly started. By the way, did I mention it resembles [matplotlib](https://github.com/matplotlib/matplotlib)? Did I?!? |
| 18 | + |
| 19 | +Contribute |
| 20 | +---------- |
| 21 | +There's a ginormous number of things I would like to incorporate into this library, including a damn good documentation. **;)** If you are strong with the Force and would like to contribute to this project, I recommend this hands-on guide to [Github-Forking](https://gist.github.com/Chaser324/ce0505fbed06b947d962) to learn the technical shenanigans. |
| 22 | +Remember: when in doubt, do not clone... fork! |
| 23 | + |
| 24 | +Contact |
| 25 | +------- |
| 26 | +[Twitter](http://twitter.com/karlphillip) |
| 27 | +[Stackoverflow](http://stackoverflow.com/users/176769/karlphillip) |
| 28 | + |
| 29 | +Library features |
| 30 | +---------------- |
| 31 | +* Data for plotting must be created through `Eigen::ArrayXf`; |
| 32 | +* Draw lines, scatter plots, or both, simultaneously and at the same time: |
| 33 | + * Lines can be continuous, made of dashes or even dots; |
| 34 | + * Circular or squared markers can be used on scatter plots; |
| 35 | +* It supports multiple series of data; |
| 36 | +* Title, labels, legends and more can be specified; |
| 37 | +* Color support for lines and markers; |
| 38 | +* Persistence: save your charts on the disk (PNG/JPG); |
| 39 | +* Define limits for your axis; |
| 40 | +* Show/hide axis ticks or background grid; |
| 41 | +* Charts block execution flow when they are `show()` to mimic `plot()` from matplotlib (but this can be disabled); |
| 42 | + |
0 commit comments