jkriege2
09e07cb12a
NEW/REWORKED: extended the set of functions like JKQTMathTextGetTightBoundingRect(): These use an internal, thread-safe cache and capsule calls to QFontMetricsF-instances. This significantly improves speed in (parallelized) plotting.
2024-01-08 17:16:31 +01:00
jkriege2
3fee9609fb
NEW: Added CMake option JKQtPlotter_BUILD_WITH_TIMING_INFO_OUTPUT, which activates several runtime-measurement guards of type JKQTPAutoOutputTimer (output via qDebug())
2024-01-08 17:14:03 +01:00
jkriege2
6607432af0
bump required cmake version to 3.16 consistently
2024-01-06 15:37:59 +01:00
jkriege2
9662ed2d69
MODIFIED: Synchronization of JKQTMathText and JKQTBasePlotter over threads: using read/write lockers now and removed some unnecessary mutexes by using a kind of singleton pattern
2024-01-05 23:26:47 +01:00
jkriege2
11b9ac6c8b
FIXing and EXTENDing jkqtplotter_version.h
2024-01-05 21:01:46 +01:00
jkriege2
591f0dfe64
FIXED: using QSharedPointer for automatic memory management
2024-01-04 23:59:46 +01:00
jkriege2
d4930d7729
IMPROVED: JKQTPGraphsModel generated High-DPI Icons, if necessary
2023-12-22 21:09:41 +01:00
jkriege2
4017852df4
improved documentation and method grouping in JKQTBasePlotter
2023-12-22 20:58:43 +01:00
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
0595fef048
BREAKING/DEPRECATED: deprecated JKQTBasePlotter::zoom() and JKQTPlotter::zoom(), use JKQTBasePlotter::setXY() and JKQTPlotter::setXY() instead
...
NEW: improved documentation of class methods
2023-12-22 20:31:25 +01:00
jkriege2
ae157d928b
FIXED fix implementation for issue #110 from commit 99ff39a3d6
...
The solution did not work with half-open absoluteRanges!
2023-12-22 12:56:09 +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
abad0b01c3
fixed even more compile errors
2023-12-19 16:22:06 +01:00
jkriege2
2913a9af48
improved documentation
2023-12-19 15:23:44 +01:00
jkriege2
83c980384c
fix more compile errors (QList::emplaceback/emplace_back() did not exist in Qt 5.15
2023-12-19 11:43:36 +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
f4ac9374d4
fixed compile errors (using QString instead of std::string, where appropriate)
2023-12-19 10:38:58 +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
chengben
96426e73fb
Fix the issue of setDrawMode1 affecting tick drawing for modes 0 and mode2
2023-11-21 10:52:08 +08:00
Frank Palazzolo
58197d19c5
Add option to disable resize delay feature by setting the delay to zero.
2023-10-24 13:32:26 -04: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
84270e49b0
improvement to fix for #99 : add even more space in some cases
2023-08-22 18:02:00 +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
11abcd1e77
fixed compile issues
2023-08-15 19:08:19 +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
b1954af38b
updated auto-generated doc images
2023-08-04 15:33:03 +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
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
b6b5c48d9e
FIXED: exporting gridPrinting plots when using only a JKQTBasePlotter
2023-07-22 00:12:55 +02:00
jkriege2
3a789250be
NEW: added variant of JKQTBasePlotter::setWidgetSize() which accepts QSize
2023-07-21 22:58:01 +02:00
jkriege2
ee7387d033
updated default.ini style
2023-07-21 22:05:27 +02:00
jkriege2
841e5ac916
removed unnecessary DEBUG-output
2023-07-21 22:01:45 +02:00
jkriege2
869c83222a
NEW: added cyberpunk style
2023-07-21 21:59:49 +02:00
jkriege2
6522325ed1
UPDATED updated blueprint.ini and dark.ini styles
2023-07-21 21:55:07 +02:00
jkriege2
7f6c5fc9aa
FIXED: Barcharts were not filled with cycling patterns properly and the first default symbol was never used (in JKQTBasePlotter::getPlotStyle())
2023-07-21 21:53:06 +02:00
jkriege2
c371899579
BREAKING: new default color scheme
2023-07-21 19:36:02 +02:00
jkriege2
1cbba3f5d1
FIXED: implemented missing JKQTPGeoArrow constructors
2023-07-21 19:32:47 +02:00
jkriege2
b188d95c01
implemented complex syntax in JKQTPColorDerivationMode::fromString()
2023-07-21 19:30:56 +02:00
jkriege2
ed8b23d7cf
FIXED: JKQTPGeoEllipse is now correctly drawn with a nonzero angle
2023-07-21 19:27:57 +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
4c1668e50d
fixed String2JKQTPMouseDragActions(): some wrong strings
2023-07-04 19:38:39 +02:00
jkriege2
aee3b23696
UPDATED included styles INI-files + automatic generation of style.ini documentations
2023-07-02 23:01:56 +02:00
jkriege2
dfa29b7b81
fixed compile issues
2023-07-01 23:33:57 +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
3b136c7320
fixed some compile errors in static initialization
2023-07-01 14:44:46 +02:00
jkriege2
3fc8951851
made more STATIC data members thread_local or secured them by a std::mutex. This was at least JKQTMathText and JKQTBasePlotter should be usable in several threads
2023-06-30 13:52:17 +02:00
jkriege2
cd77d38a5b
IMPROVED handling of JKQTPMouseWheelActions::jkqtpmwaZoomByWheelAndTrackpadPan: now consecutive pan-actions are recognizes as such, even if the pan-delta is larger than the predefined limit ... as long as the events were generated close in time to each other!
2023-06-18 15:13:24 +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
5240cf8681
removed unneeded #include
2023-06-11 16:39:13 +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
fc642b6cac
bugfixed QSet-initialization
2023-03-23 14:53:23 +01: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
doug1234
2bc76761a0
Fixed the one VS warning I found (warning level 4)
2023-01-28 10:55:17 -05: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
3736747173
docfix
2022-10-30 22:01:06 +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
c2e2ca1af7
BUGFIX: JKQTPCALTslashfrac didn't work
2022-10-09 12:27:01 +02:00
jkriege2
ddcc9ea462
BUGFIX: Error for PDBs when building STATIC libs on MSVC
...
BUGFIX: a variable in the ...Config.cmake-files was not set correctly
2022-10-06 11:54:18 +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
71314496a0
minor bugfixes
2022-09-27 01:55:37 +02:00
jkriege2
2da8553e5d
NEW: barcharts may hav rounded corners now, via JKQTPBarGraphBase::setRectRadius()
2022-09-27 01:42:54 +02:00
jkriege2
153c80d64b
docfix
2022-09-26 23:16:28 +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
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
e2fba9957e
added several setter variants for colors that have the alpha transparency value as separate parameter
2022-09-25 15:23:52 +02:00
jkriege2
1c0d0cb262
updated documentation (better structure & more info)
2022-09-24 20:18:08 +02:00
jkriege2
630b4d02f6
added missing include
2022-09-24 02:10:14 +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
a769437ae3
docfix
2022-09-22 01:43:46 +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
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
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