JKQtPlotter Versions Save

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

v4.0.3

2 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)

v4.0.2

4 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

v4.0.1

4 months ago

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

in addition fixed:

v4.0.0

2 years ago

Changes, compared to v2019.11.3 include:

  • fixed issue #34: Skip drawing the line for negative values in log plots, thanks to user:certik
  • fixed issue #38: Buffer overflow, thanks to user:zertyz
  • 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
  • fixed issue #45: Build error on mac jkqtfastplotter.cpp:342:28: Variable has incomplete type 'QPainterPath', thanks to user:abdedixit
  • merged PR #47: Some minor build fixes, thanks to user:patstew
  • fixed issue #48: Cannot #include QPrintPreviewWidget, thanks to user:schlenger
  • fixed issue #49: Incorrect tag in style .ini-files, thanks to user:smistad
  • fixed issue #50: Double-Click Zoom Issue, thanks to user:Delfinos
  • fixed issue #52: 'runtime_error': is not a member of 'std', thanks to user:gomgomi
  • fixed issue #56: Logscale zoom multiple zeros? , thanks to user:sufuk
  • merged PR #51: Bug: JKMathParser exception return local variable , thanks to user:StephanOostveen
  • renamed/breaking change: renamed JKQTPPlotObject->JKQTPGeometricPlotElement and added new base class JKQTPPlotAnnotationElement
  • renamed/breaking change: renamed JKQTPColorPaletteStyleAndToolsMixin::setPalette() -> JKQTPColorPaletteStyleAndToolsMixin::setColorPalette()
  • removed/breaking change: removed the usage of some deprecated functions and objects (e.g. QMatrix)
  • removed/breaking change: removed the overlay elements (derived from JKQTPOverlayElement), which were not very well set up and are more confusing than useful.
  • improved/breaking change: geometric objects now use an adaptive drawing algorithm to represent curves (before e.g. ellipses were always separated into a fixed number of line-segments)
  • improved/breaking change: geometric elements constructor: removed all styling properties, added setStyle()-functions to replace them. This is necessary to better work with the extended Styling system
  • improved: constructors and access functions for several geometric objects (e.g. more constructors, additional functions to retrieve parameters in diferent forms, iterators for polygons, ...)
  • improved/breaking change: reworked class hierarchy of parsed function plots and declared several setters as slots.
  • improved/breaking change: reworked class hierarchy of bar & impulse charts.
  • improved/breaking change: reworked class hierarchy of range charts.
  • improved/breaking change: reworked class hierarchy of special line (step) graphs.
  • improved/breaking change: reworked class hierarchy of filled line graphs.
  • improved/breaking change: reworked class hierarchy of range plot elements (JKQTPVerticalRange and JKQTPHorizontalRange).
  • improved/breaking change: reworked class hierarchy of boxplots.
  • improved/breaking change: reworked class hierarchy of violin plots.
  • improved/breaking change: extended styling system for graphs.
  • improved/breaking change: reworked graph Base-Classes (promoted several setters to slots, added Q_PROPERTY- and Q_ENUM-declarations...)
  • improved/breaking change: made more functions and function parameters const
  • improved/breaking change: image plots now manage CONST-data, not plain pointer arrays... This is OK, since the raw data is never owned nor modified by the plot, only referenced!.
  • bugfixed/improved: aspect ratio handling in JKQTPlotter.
  • new: switching to semantic versioning ... starting with v4.0.0
  • new: Compatibility with Qt 5.15 and Qt6
  • new: added support for high-dpi devices (thanks for PR #55: Enable high-dpi support for plots by user:akenmorris.
  • new: added geometric plot objects JKQTPGeoArrow to draw arrows (aka lines with added line-end decorators, also extended JKQTPGeoLine, JKQTPGeoInfiniteLine, JKQTPGeoPolyLines to draw line-end decorator (aka arrows)
  • new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves
  • new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves ( [x,y] = f(t) ), see \ref JKQTPlotterEvalCurves for an example
  • new: added several new copy/set-functions to JKQTPDatastore
  • new: added JKQTPlotter signal, when widget was resized
  • new: added JKQTPFilledHorizontalRangeGraph, complementing JKQTPFilledVerticalRangeGraph

v2019.11.2

4 years ago

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

v2019.11.1

4 years ago

v2019.11.0

4 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