Commit Graph

393 Commits

Author SHA1 Message Date
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
5dcd73222b fix typo 2023-12-19 11:40:13 +01:00
jkriege2
0080f07bda improve doc 2023-12-19 11:18:28 +01:00
jkriege2
61ca14863f BUGFIX: JKQTPCoordinateAxis::tickUnitName was not shown in some cases, when using fractions 2023-12-19 11:04:19 +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
deffa3a407 FIXED: reversed some palettes, so the names match the color order 2023-09-26 08:28:40 +02:00
jkriege2
3d60d4f2ef NEW: even more color palettes 2023-09-25 22:58:28 +02:00
jkriege2
08cc844343 MODIFIED: simplified palette generation code + added several missing derived palettes + legacy names/renames 2023-09-19 14:38:01 +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
cc242dfa1a added more auto-generated example images (here for JKQTPLabelPosition) + some improved images 2023-08-23 17:45:59 +02:00
jkriege2
84270e49b0 improvement to fix for #99: add even more space in some cases 2023-08-22 18:02:00 +02:00
jkriege2
53fa433387 updated auto-generated images 2023-08-22 17:53:47 +02:00
jkriege2
af29fa4ffa added example image for JKQTPCoordinateAxisStyle::tickLabelAngle 2023-08-22 17:34:50 +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
e66abc47ac update plot imaged for tutorials: datastore, datastorw_groupstat, datastore_regression, datastore_iterators, datastore_statistics 2023-08-15 15:02:39 +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
474e511073 auto-create doc-iages from datastore example 2023-08-14 12:37:22 +02:00
jkriege2
b1954af38b updated auto-generated doc images 2023-08-04 15:33:03 +02:00
jkriege2
c38f69ae9a NEW: added JKQTPPaletteList::reverse() and JKQTPPaletteList::sort()
FIXED: fixed stepsGnBl-palettte and greenblue-palette
2023-07-30 22:56:48 +02:00
jkriege2
4cf343ea30 CHANGED: updated default palette_MatlabLegacy_step.png
NEW: added more steps palettes
2023-07-30 22:30:09 +02:00
jkriege2
ed2b3cef22 Updated style.ini files 2023-07-25 22:22:52 +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
3e4f039efb fixed some Qt5 compile errors 2023-07-22 10:45:11 +02:00
jkriege2
b5ce109c01 update auto-generated doc images 2023-07-22 00:19:02 +02:00
jkriege2
92a807d532 update todo and whatsnew 2023-07-22 00:18:44 +02:00
jkriege2
84acf7f54a UPDATED: styles doc image generation and doc images from that 2023-07-22 00:14:42 +02:00
jkriege2
6522325ed1 UPDATED updated blueprint.ini and dark.ini styles 2023-07-21 21:55:07 +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
ab0da0017d modified the way to generate styles-example documentation again 2023-07-03 10:11:51 +02:00
jkriege2
55912ad931 improved styles-auto-doc-generation 2023-07-02 23:19:05 +02:00
jkriege2
aee3b23696 UPDATED included styles INI-files + automatic generation of style.ini documentations 2023-07-02 23:01:56 +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
a1408ccbd0 JKQTMathText: Update several layouting nodes (especially braces) 2023-07-01 15:57:57 +02:00
jkriege2
6dff6b3928 updated images 2023-06-30 14:25:23 +02:00
jkriege2
41e63341b5 added concurrency tools header to jkqtpcommmon, initially with JKQTPSynchronized<T> 2023-06-25 17:51:21 +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
1dbb32d1c9 undo last commit 2023-05-13 14:57:55 +02:00
jkriege2
da394e4c6f add ReadTheDocs build 2023-05-13 14:44:40 +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
72702ee231 updated todo 2023-03-15 14:07:14 +01:00
jkriege2
3132eb0102 refactorings, code improvements, no functional changes 2022-11-03 15:48:48 +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
94fcd02913 docfix 2022-10-30 21:52:30 +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
d59f5e6692 docfix 2022-10-22 21:07:14 +02:00
jkriege2
c6ac8a8cc4 NEW: barcharts can be colored by a user-specified functor 2022-10-22 16:40:44 +02:00
jkriege2
5ed48ea828 updated todo 2022-10-15 18:33:29 +02:00
jkriege2
c2e2ca1af7 BUGFIX: JKQTPCALTslashfrac didn't work 2022-10-09 12:27:01 +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
7b715541e7 bugfixed parantheses for JKQTPCALTintslashfrac labels + some Codiga-Violations 2022-09-28 01:46: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
3de1df2b94 updated impulse plots & doc 2022-09-26 02:08:01 +02:00
jkriege2
465583b48d bugfixed length of zero line 2022-09-25 21:22:29 +02:00
jkriege2
687ffc3414 docfix 2022-09-25 15:47:38 +02:00
jkriege2
753a475eb3 docfix 2022-09-25 15:43:36 +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
b536d79aeb bugfix for older Qt versions 2022-09-23 21:45:30 +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
e65cd82fbb add todo 2022-09-19 22:13:53 +02:00
jkriege2
75db7cff42 dox update/fix 2022-09-19 21:55:12 +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
b7b78814da bugfix 2022-09-11 07:52:19 +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
d46d82b17c JKQTPlotter: added examples for custom symbols 2022-09-07 21: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
2831dcbfb5 jkqtcommon/jkqtpdrawingtools.h: added template-function to draw a decorated line
JKQTPlotter: add auto-generated line-decorator images
2022-09-06 11:07:52 +02:00
jkriege2
59f500a0a9 antialiased 2022-09-02 23:01:44 +02:00
jkriege2
9b32e60442 added command-line tool that auto-generates images for the JKQTPLotter documentation, implemented auto-generated plot-symbols 2022-09-02 22:59:41 +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
jkriege2
2a70ec6260 JKQTMathText: added FIRA FOnts to symbols documentation 2022-09-01 14:37:20 +02:00
jkriege2
6ebd8743ca JKQTMathText:
- NEW: Added the Fira Math fonts as sans-serif symbol font to the library (as a ressource) and added JKQTMathText::useFiraMath()
  - NEW: Added JKQTMathText::useGuiFonts()</li>
JKQTPlotter:
  - NEW: Using JKQTMathText::useGuiFonts() for FONT rendering by default
2022-09-01 14:36:34 +02:00
jkriege2
4ef29635ea JKQTPlotter: improved plotting speed for line-graphs by drawing a series of single lines instead of a polyline in some cases 2022-08-30 22:24:24 +02:00
jkriege2
abd62dc341 made randomnumber generators seeded with fixed values 2022-08-30 21:33:22 +02:00
jkriege2
eeff6e0036 fixed issue #73: Symbol thickness differs in actual plot and legend 2022-08-30 09:44:40 +02:00
jkriege2
e729ebbc78 docfix 2022-08-29 21:46:38 +02:00