Commit Graph

174 Commits

Author SHA1 Message Date
jkriege2
36947a4bca REWORKED JKQTBasePlotter::saveData() with a more consistent interface and a bool return value to indicate success or failure + improved documentation
NEW: added two functions to JKQTPSaveDataAdapter
2023-12-22 20:34:32 +01:00
jkriege2
99ff39a3d6 FIXED issue mentioned in https://github.com/jkriege2/JKQtPlotter/pull/110: Lock the panning action to certain values: View zooms in, when panning close to AbosluteXY</a> (thanks to https://github.com/sim186 for reporting) 2023-12-21 15:10:20 +01:00
jkriege2
995ca92033 FIXED/REWORKED issue https://github.com/jkriege2/JKQtPlotter/issues/111 : Can't write to PDF files with JKQTPlotter::saveImage() when passing a filename ending in ".pdf" (thanks to https://github.com/fpalazzolo for reporting)
IMPROVED/REWORKED: The functions JKQTBasePlotter::saveImage(), JKQTBasePlotter::saveAsPixelImage(), JKQTBasePlotter::saveAsPDF(), JKQTBasePlotter::saveSVG(), ... gained a bool return value to indicate whether sacing was successful.
IMPROVED/REWORKED: More <code>save...()</code> functions will appear in the API of JKQTPlotter, so you don't have to go via JKQTPlotter::getPlotter(). These are merely forwarding the call to the internel JKQTBasePlotter instance.
2023-12-21 12:24:30 +01:00
jkriege2
f2004a6f66 NEW/BREAKING: rework layouting of keys/legends: new classes JKQTPBaseKey, JKQTPMainKey ... and removed several styling function for the main key from JKQTBasePlotter and JKQTPlotter (these are now accessible via JKQTBasePlotter::getMainKey()
IMPROVED/REWORKED: legend/key positioning as combination of 3 values, e.g. \c JKQTPKeyOutsideTop|JKQTPKeyTop|JKQTPKeyRight or \c JKQTPKeyInside|JKQTPKeyTopJKQTPKeyRight
2023-12-18 22:24:59 +01:00
jkriege2
8b1c7c093d added whatsnew-messages for merged PRs 2023-10-25 13:43:25 +02:00
jkriege2
9fd500fc8f DEPRECATED JKQtFastPlotter & QMake-build 2023-09-26 10:45:59 +02:00
jkriege2
134739c5a5 FIXED: Height of one-column key/legend was too large 2023-08-24 22:11:44 +02:00
jkriege2
5cc0b65d9a NEW: added JKQTPLabelMinBesides and JKQTPLabelMaxBesides to JKQTPLabelPosition, so labels can be set besides the axes 2023-08-24 21:49:39 +02:00
jkriege2
22d8bdd674 partly fixed issue #99: for horizontal axes, additional space at the left and/or right of the plot is allowed so labels are no longer clipped (thanks to user:allenbarnett5 for reporting) 2023-08-22 17:32:00 +02:00
jkriege2
fa50c3c130 NEW: added JKQTBasePlotterStyle::plotLabelTopBorder and made plot labels BOLD 2023-08-16 14:04:04 +02:00
jkriege2
122371e743 NEW: Added JKQTMathText::setFontOptions(), which allows to make fonts initially e.g. bold, italic, ... and extended JKQTMathText::setFontSpecial() accordingly 2023-08-16 13:52:29 +02:00
jkriege2
49d79e610d FIXED/NEW: placement of plot-title (was not centerd in its box, but glued to the bottom) by adding a plotstyle parameter JKQTBasePlotterStyle::plotLabelOffset 2023-08-15 15:26:06 +02:00
jkriege2
4edaa3e1e2 BREAKING/FIXED: JKQTPXFunctionLineGraph and JKQTPYFunctionLineGraph do no longer contribute to auto-scaling, as that depends on the current plot-axes (hen-egg-problem). 2023-08-14 13:51:18 +02:00
jkriege2
e386cb97a7 FIXED: fixed impleentations of JKQTPlotter::beginGraphs(), which actually returned the end-iterator (COPY-PASTE-ERROR!!!) 2023-08-14 12:38:58 +02:00
jkriege2
b1954af38b updated auto-generated doc images 2023-08-04 15:33:03 +02:00
jkriege2
754553568d NEW added entry for plotLabelColor to JKQTBasePlotterStyle 2023-07-25 22:21:42 +02:00
jkriege2
97c54916cf NEW: you can use any (preferably stepped/categorial) JKQTPMathImageColorPalette as default graph colors list in a style.ini file, by setting <tt>auto_styles/use_color_from_palette=PALETTE_NAME</tt>
FIXED/BREAKING: graph symbols were not properly applied when reading styles (in fact they were shuffled under some circumstances)
2023-07-25 22:20:00 +02:00
jkriege2
ca84d664ad NEW: add color palettes from Green's HELIX method, see https://arxiv.org/abs/1108.5083, see JKQTPCreateGreensCubeHelixLUT() and e.g. JKQTPMathImageCubeHelixClassic, JKQTPMathImageCubeHelix1, ... 2023-07-22 15:33:09 +02:00
jkriege2
677985ae35 NEW: Using Q_SIGNALS/Q_SLOTS instead of signals/slots MOC-keywords ... this allows for interoperability with other signals/slots frameworks 2023-07-22 14:26:02 +02:00
jkriege2
92a807d532 update todo and whatsnew 2023-07-22 00:18:44 +02:00
jkriege2
7eca9f7c8b - corrected size of internal image buffer --> fixes strange rendering with distortions (especially in text!)
- added missing override declarations
- JKQTPlotter::jkqtp_RESIZE_DELAY is thread-safe now (atomic)
2023-07-21 19:19:50 +02:00
jkriege2
a492b75724 updated default style parameters (more modern) 2023-07-01 23:23:35 +02:00
jkriege2
d23ea0a79e fix issue #96: JKQTPlotter::saveAsPixelImage() does not add a border around the image any longer (can be reacivated by a new optional function parameter) 2023-07-01 22:27:00 +02:00
jkriege2
9762b44b7d IMPROVED/REWORKED: zomm/pan by mouse-wheel: now there are modes that support zoomin AND panning by trakpad and mouse-wheel simultaneously! 2023-06-16 13:41:47 +02:00
jkriege2
d1e493fc73 fixed issue #98: Signal JKQTPlotter::plotMouseWheelOperated() was called with wrong x/y-position-coordinates 2023-06-11 16:32:10 +02:00
jkriege2
ebd1a29e1d BREAKING: Implement better/more access functions to the graphs (inlcuding sorting, moving up/down, appending/prepending, graphs-iterators ...), solves issue #97 2023-05-27 23:46:45 +02:00
jkriege2
f61b46b96b NEW: secondary axes: added functionality to manage additional secondary axes in a JKQTPBasePlotter and to select which x-/y-Axis to use for drawing a JKQTPPlotElement, see also issue #87 2023-03-23 13:55:18 +01:00
jkriege2
8b482a191c renamed sub-library JKQTCommonMathAndStatistics to JKATMath. This results in shorter filenames 2023-03-15 14:59:34 +01:00
jkriege2
8c36ce2196 NEW: barcharts and impulse graphs may now draw their baseline as stylable line (default: off) 2022-10-31 20:34:01 +01:00
jkriege2
972bc6c1e0 NEW: you can provide a custom draw functor to barcharts to completely customize their look 2022-10-28 21:48:42 +02:00
jkriege2
c6ac8a8cc4 NEW: barcharts can be colored by a user-specified functor 2022-10-22 16:40:44 +02:00
jkriege2
62f27ce9c1 NEW: When using a MSVC compiler, the generated PDB files are installed to CMAKE_INSTALL_PREFIX/bin/ 2022-10-05 21:52:19 +02:00
jkriege2
ce3f25e044 added new JKQTPCALabelType element JKQTPCALTformat for general formatting with a std::format-format string (available for C++>=20 only!!!) 2022-09-28 00:59:57 +02:00
jkriege2
2da8553e5d NEW: barcharts may hav rounded corners now, via JKQTPBarGraphBase::setRectRadius() 2022-09-27 01:42:54 +02:00
jkriege2
8855891eea NEW: added option to draw a zero axis to JKQTPCoordinateAxis, which draws an axis at the origin of the coordinate system 2022-09-25 15:34:05 +02:00
jkriege2
1c0d0cb262 updated documentation (better structure & more info) 2022-09-24 20:18:08 +02:00
jkriege2
efa0db1bbe NEW: added possibility to scale the axis ticks by a factor (e.g. pi) to generate axes with ticks 0pi, 1pi, 2pi ... 2022-09-24 02:06:42 +02:00
jkriege2
bf4aa7ebdb JKQTPCALTprintf for general axis tick formatting with a printf-format string 2022-09-24 00:16:57 +02:00
jkriege2
d2c2185f9c IMPROVED/REWORKED: reworked JKQTPCADrawMode and coordinate axis drawing so the draw mide can be specified as ORed combination of flags from JKQTPCADrawModeElements, added flags to draw arrows at the end of the axis line
IMPROVED/REWORKED: coordinate axis code was refactored
NEW: all elements of a coordinate axis may have their own color now
2022-09-23 20:43:53 +02:00
jkriege2
60a4656dd8 NEW: Added new JKQTPCALabelType elements (JKQTPCALTfrac...), so axis label ticks can be displayed as fractions 1/2 instead of 0.5
NEW: Added new JKQTPCALabelType element JKQTPCALTscientific, so axis label ticks can be displayed as numbers in scientific notation like 1.2E-34
auto-generate JKQTPCALabelType documentation
2022-09-22 00:44:54 +02:00
jkriege2
3c22130902 JKQTPlotter: IMPROVED/REWORKED: reworked JKQTPErrorPlotstyle and error indicator plotting so error-inidcators can be specified as ORed combination of flags from JKQTPErrorPlotstyleElements, added additional error indicator styles (half-bars, arrows...) 2022-09-14 22:03:46 +02:00
jkriege2
16df80c8c7 JKQTPlotter: NEW: Added signals JKQTBasePlotter::beforeExporting()/JKQTBasePlotter::afterExporting() and JKQTBasePlotterJKQTBasePlotter:beforePrinting()/JKQTBasePlotter::afterPrinting() which allow to modify the plot just before and just after an export/print 2022-09-12 00:35:45 +02:00
jkriege2
1fb0c540d9 JKQTPlotter:
- FIXED plot-size calculation for filled graphs
  - added example for filled graphs with error indicators
2022-09-11 00:06:47 +02:00
jkriege2
6cc08c2041 JKQTPlotter: NEW: added new error indicator styles JKQTPErrorHalfBarsOutwards, JKQTPErrorHalfBarsInwards, JKQTPErrorHalfBarsAbove, JKQTPErrorHalfBarsBelow which are especially useful for barcharts
JKQTPlotter: added example for barcharts with errorbars
2022-09-11 00:03:31 +02:00
jkriege2
40748de442 JKQTPlotter: NEW: barcharts (derived from JKQTPBarGraphBase) can be configured to use different fill styles above and below the baseline 2022-09-10 14:35:16 +02:00
jkriege2
f11a98779e JKQTPlotter: NEW: added JKQTPXYGraph::setKeyColumn()/JKQTPXYGraph::getKeyColumn() and JKQTPXYGraph::setValueColumn()/JKQTPXYGraph::getValueColumn() and corresponding functions in other classes. 2022-09-10 13:38:29 +02:00
jkriege2
7846bbecf0 JKQTPlotter: added property drawLineInForeground to JKQTPXYLineGraph and JKQTPXYParametrizedScatterGraph 2022-09-07 21:12:26 +02:00
jkriege2
bf1416d5a6 added possibility to register custom symbols for JKQTPPlotSymbol() 2022-09-06 12:39:23 +02:00
jkriege2
f6def4b9d1 add symbol JKQTPFilledCharacterSymbol 2022-09-06 11:59:11 +02:00
jkriege2
4f73fbbaed JKQTPlottter: added the option to draw a character from a font as symbol (JKQTPCharacterSymbol+QChar('').unicode()) 2022-09-02 14:19:47 +02:00