Skip to content

First Release after Major Update/Refactoring

Compare
Choose a tag to compare
@jkriege2 jkriege2 released this 24 Nov 12:30
· 31 commits to v2019.11 since this release

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