Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seleznevae/jag
Simple interactive grapher for 2D plots
https://github.com/seleznevae/jag
c-plus-plus cpp grapher plot plotting qcustomplot qt
Last synced: 2 months ago
JSON representation
Simple interactive grapher for 2D plots
- Host: GitHub
- URL: https://github.com/seleznevae/jag
- Owner: seleznevae
- License: gpl-3.0
- Created: 2017-10-08T17:00:23.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-01-18T19:35:51.000Z (almost 7 years ago)
- Last Synced: 2023-10-20T23:02:21.660Z (about 1 year ago)
- Topics: c-plus-plus, cpp, grapher, plot, plotting, qcustomplot, qt
- Language: C++
- Homepage: https://seleznevae.github.io/jag.org/
- Size: 4.21 MB
- Stars: 25
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jag
[![Build Status](https://travis-ci.org/seleznevae/jag.svg?branch=master)](https://travis-ci.org/seleznevae/jag)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)jag - just a grapher
Jag is a simple plotting application which was created for telemetry data analyzing and simple plot creation. Jag is based on QCustomPlot v.1.3.2 (http://www.qcustomplot.com/ ). Some features were not implemented on purpose to keep jag as simple as possible. As a result **jag can't plot surfaces, graphs in polar coordinates, financial plots, bar plots etc**.
At the moment jag supports CSV format and data in table format (see examples in "tlmExamples" directory).See the [project page](https://seleznevae.github.io/jag.org/) for more information.
# Features
1. Arbitrary layout. You can easily change the number of graphs and axes, move graphs from one axes box to another, change axes boxes location.
2. Comprehensive dialog to choose parameters from data sources (particularly useful if you have dozens or hundreds of parameters in each data source).
3. Built-in secondary processing which allows you easily perform basic mathematical computations on your data (library of available functions is not very huge at the moment (about 40 functions) but in future it will be significantly expanded). Of course basic mathematical operators (+,-,*,/,^) are available.
4. All usual means to change graph properties, convert plots to images, preferences to customize JaG appearance and behavior, shortcuts for all essential actions.# Building
To build jag you will need:1. Boost 1.58
2. QSint 0.2.2# Platforms
Jag is based on Boost, Qt and libraries based on Qt. Hence in theory jag is a cross-platform application.
# Languages
At the moment JaG GUI supports English and Russian languages.# Plugins
You can extend the number of supported data formats with plugins. See API in [src/plugins/plugins_api.h](https://github.com/seleznevae/jag/blob/master/src/plugins/plugins_api.h).
See a simple dummy example of such plugin in [pluginExample directory](https://github.com/seleznevae/jag/blob/master/pluginExample/).# Screenshots
![Basic usage](https://github.com/seleznevae/jag/blob/master/plotExamples/gallery_1.png "Basic usage")
![Events with fill and arrows with comments](https://github.com/seleznevae/jag/blob/master/plotExamples/gallery_2.png "Events with fill and arrows with comments")
![Sophisticated layout with different markers on the graphs](https://github.com/seleznevae/jag/blob/master/plotExamples/gallery_3.png "Sophisticated layout with different markers on the graphs")
# Jag in action
Here is a small [youtube video](https://www.youtube.com/watch?v=IiRYgONja9E&feature=youtu.be) that demonstrates basic jag capabilities.
# Getting started
To get familiar with **jag** see [getting started](https://seleznevae.github.io/jag.org/getting-started/) page at the official project website.
# Download
You can download the latest version of jag on the [release page](https://github.com/seleznevae/jag/releases).# TODO
- [ ] Replace Qt4 with Qt5
- [ ] Update to QCustompPlot 2
- [ ] CI for Windows# License
GNU GENERAL PUBLIC LICENSE v3