JKQtPlotter

an extensive Qt5 & Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies

LGPL-2.1 License

Stars
852
Committers
17

Bot releases are hidden (Show)

JKQtPlotter - Bugfix-Release for 4.0.0 branch, (replaces v4.0.2) Latest Release

Published by jkriege2 7 months ago

This includes everything from v.4.0.0/v4.0.1 and in addition:

https://github.com/jkriege2/JKQtPlotter/pull/115: bugfix for drawing custom labels

NOTE: This release replaces v4.0.2, which was put onto the wrong branche and was dysfunctional (cf. https://github.com/jkriege2/JKQtPlotter/issues/123)

JKQtPlotter - Bugfix-Release for 4.0.0 branch

Published by jkriege2 10 months ago

This includes everything from v.4.0.0/v4.0.1 and in addition:

https://github.com/jkriege2/JKQtPlotter/pull/115: bugfix for drawing custom labels

JKQtPlotter - bugfix release for v4.0.0

Published by jkriege2 10 months ago

same contents as https://github.com/jkriege2/JKQtPlotter/releases/v4.0.0

in addition fixed:

JKQtPlotter - Qt6 compatibility & rework of class hierarchy & diverse improvements + bugfixes

Published by jkriege2 over 2 years ago

Changes, compared to v2019.11.3 include:

JKQtPlotter - v2019.11.3: 3rd bugfix release for v2019.11

Published by jkriege2 over 4 years ago

  • fixed issue #43: jkqtp_format() had undefined behaviour, thanks to user:Makis42
  • fixed issue #41: Build error when JKQtPlotter_BUILD_INCLUDE_XITS_FONTS set to OFF , thanks to user:smistad
  • fixed issue #37: CMake installs things into $PREFIX/doc/*.txt , thanks to user:certik
JKQtPlotter - v2019.11.2: 2nd bugfix release for v2019.11

Published by jkriege2 almost 5 years ago

fixed issue #38: Buffer overflow, thanks to user:zertyz

JKQtPlotter - v2019.11.1: 1st bugfix release for v2019.11

Published by jkriege2 almost 5 years ago

JKQtPlotter - First Release after Major Update/Refactoring

Published by jkriege2 almost 5 years ago

Starting in summer 2018, JKQTPlotter received some major workover. During this, it lost compatibility to the QuickFit 3.0 code base.

Changes, compared to v2018.08 include:

  • new: CMake-base build, which deprecated the QMake-build
  • new: added QMake-Projects for static and for shared library builds
  • new: extensive set of Examples and Tutorials
  • new: checked builds with continuous integration from AppVeyor: https://ci.appveyor.com/project/jkriege2/jkqtplotter/branch/master
  • new/update: support for building with Microsoft Visual Studio (Win), MinGW (Win), GCC (Linux/MacOS)
  • update: massively improved (doxygen-generated) Online-Documentation (http://jkriege2.github.io/JKQtPlotter/index.html) (automatically generated after each commit using ravis CI)
  • update: refactoring of the library's directory structure
  • update: refactoring/renaming of API, including the function anming scheme and class names
  • changed: using static const variables instead of #define for fixed default values (e.g. JKQTPImageTools::LUTSIZE, JKQTPImageTools::PALETTE_ICON_WIDTH, JKQTPlotterDrawinTools::ABS_MIN_LINEWIDTH, JKQTMathText::ABS_MIN_LINEWIDTH ...)
  • Updates to JKQTPlotter:
    • new: added JKQTPSingleColumnSymbolsGraph for single-column data, e.g. drawn as (random) scatter or bee-swarm or rug plots
    • new: stacked barcharts with JKQTPBarVerticalStackableGraph, JKQTPBarHorizontalStackableGraph
    • new: use/support of C++11 features (e.g. std::function<> and lambda functions in JKQTPXFunctionLineGraph / JKQTPYFunctionLineGraph )
    • new: optional OpenCV interface
    • new: optional CImg interface
    • new: Styling System for JKQTPlotter
    • new: added debugging option, which surrounds different regions with visible rectangles (JKQTBasePlotter::enableDebugShowRegionBoxes() )
    • new: frames (plot viewport, key/legend ...) may be rounded off at the corners
    • new: diverse new styling options (default font name/size ...)
    • new: additionl options for styling coordinate axes
    • new: Mix-In classes to unify plot styleing functions (setters/getters) in all graphs
    • new: additional options for graph filling (color gradients, textures, ...) as provided by QBrush
    • new: added a general feature to JKQTPPlotElement which allows to show a graph in a highlighted state (if supported by the derived graph class!)
    • new: JKQTPXYParametrizedScatterGraph: added functors to transform column values into symbol type+size and line-width to give even more control
    • new: user-interaction tool that shows coordinates of data points near the current mouse position (when mouse is dragged, while mouse button is pressed), see: jkqtpmdaToolTipForClosestDataPoint
    • new: user-interaction tool that measures distances and angles when mouse is dragged, while mouse button is pressed), see: jkqtpmdaRuler
    • new: advanced styling options for boxplots + example for the styling: Example (JKQTPlotter): Styling different aspects of boxplots
    • new: notched boxplots, see: Example (JKQTPlotter): Styling different aspects of boxplots
    • new: several new plot symbols, see: JKQTPGraphSymbols
    • new: Statistics library with functions to calculate histograms, regression, kernel density estimates, ... see: Statistical Computations
    • new: iterator interface and improved documentation for JKQTPDatastore
    • new: violin plots (see Example (JKQTPlotter): Violin Plots )
    • changed: removed old selection-code and replaced by general highlighting feature
    • changed: JKQTPStepHorizontalGraph has been renamed to JKQTPSpecialLineHorizontalGraph (vertical variants also) and have gained additional features (baseline for filling and drawing of symbols)
    • changed: filled curve graphs (e.g. JKQTPSpecialLineHorizontalGraph) are now merely a specializedly initialized JKQTPSpecialLineHorizontalGraph
    • removed: Removed datarange-feature
    • update: reworked user interactions API
    • update: reworked error indicator base classes
    • update: improvements to contour plots (e.g. highlighting single contour levels, split into a class for simple C-arrays [JKQTPContourPlot] and one for image data in a JKQTPDatastore column [JKQTPColumnContourPlot]) + added example, see JKQTPColumnContourPlot and Example (JKQTPlotter): Contour Plots
    • fixed: colorbars at top were positioned over the plot label
    • fixed: RGB-image plots now work properly with inverted axes (image is inverted, befor image was not shown at all)
  • Updates to JKQTMathText:
    • new: slanted fractions (\sfrac{}{}, \stfrac{}{})
    • update/fix: several general improvements and bugfixes
    • update/fix: improved error handling
    • update: updated contained version of STIX fonts, better handling of different STIX versions
    • update: improved documentation