Commit Graph

307 Commits

Author SHA1 Message Date
jkriege2
de68d8b8d6 NEW: added financial graphs (Candlestick or OHLC) and example for these 2024-02-11 14:18:50 +01:00
jkriege2
f860f76e72 doc update 2024-02-10 16:46:33 +01:00
jkriege2
25fcb2a74a NEW add JKQTPParametrizedVectorFieldGraph, which draws color-coded vector fields (color from length, angle, or user-supplied data column) + example 2024-02-10 00:26:45 +01:00
jkriege2
4d58448d17 docfix 2024-02-09 13:57:42 +01:00
jkriege2
e2057ae27a NEW: Base class JKQTPXYAndVectorGraph for graphs like vector fields, e.g. (x,y,dx,dy) or (x,y,angle,length)
NEW: ... and an actual implementation JKQTPVectorFieldGraph (+example)
2024-02-08 21:52:30 +01:00
jkriege2
ac8e7c6adb docfix 2024-02-06 16:20:48 +01:00
jkriege2
3c9bd56d9e NEW: JKQTPXYGraphLabels which can draw a label next to each datapoint in the given x/y-dataset. The labels can be x-/y- or x&y-coordinates or custom, then defined by a user-supplied functor (+example \ref JKQTPlotterGraphLabels) 2024-02-06 14:49:14 +01:00
jkriege2
3b231273ef FIXED symmetry when zooming with JKQTBasePlotter::zoomIn() or JKQTBasePlotter::zoomOut() 2024-02-05 00:24:39 +01:00
jkriege2
f606327469 RENAMED JKQTPDatastore::addColumnCalculatedFromColumn() to JKQTPDatastore::addCalculatedColumnFromColumn(), which is more in line with the other add...()-function names. Aliases with the old function names remain for compatibility 2024-02-04 21:42:53 +01:00
jkriege2
b338606bc1 FIXED/SECURITY not using \c sprintf() any more ... replaced by e.g. \c snprintf() , which is more secure. 2024-02-02 16:20:55 +01:00
jkriege2
50746a09cf brought removed operators in JKQTDataStore back 2024-02-02 16:09:42 +01:00
jkriege2
57b298527e IMPROVED: axis labeling: there were some minor differences between compilers
IMPROVED: jkqtp_floattounitstr()/jkqtp_floattolatexunitstr(): add all SI-Prefixes from 10^-30...10^30
BREAKING removed unused function variant of jkqtp_floattounitstr()
NEW Added unit test for jkqtp_floattounitstr()/jkqtp_floattolatexunitstr()
2024-02-02 14:24:41 +01:00
jkriege2
55625a25ee IMPROVED/FIXED outside space requirements for color bars. Text was sometime too close to the plot border. 2024-02-02 14:03:16 +01:00
jkriege2
946e472ce7 FIXED removed unnecessary operator from JKQTPColumnIterator and JKQTPColumnConstIterator, which lead to exceptions on some compilers 2024-02-02 14:01:16 +01:00
jkriege2
1858385952 FIXED issue #118: "Dangerous warning in MacOS and clang" (thanks to user:igormironchik for reporting): a forward-declared class (i.e. incomplete type) was deleted 2024-02-02 11:35:00 +01:00
jkriege2
acae5929d1 JKQtMathText: NEW: added \c \\~{} , \c \\^{}, \c \\`{}, ... instructions 2024-02-01 12:14:46 +01:00
jkriege2
c0bbe8f557 FIXED issue <a href="https://github.com/jkriege2/JKQtPlotter/issues/117">#117: Unnecessary printing of tilde symbol in math</a> (thanks to <a href="https://github.com/igormironchik">user:igormironchik</a> for reporting):<br/>Tilde was not recognized as a LaTeX instruction, now is interpreted as non-breaking whitespace 2024-01-31 15:47:26 +01:00
jkriege2
bcbce121c1 ensure that either CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES is set in CMake 2024-01-27 14:20:31 +01:00
jkriege2
99592b29d8 typofix 2024-01-26 18:42:00 +01:00
jkriege2
8ccaaaebe6 NEW: added "currentcolor" as color-placeholder in style.ini files and using it in conjunction with linear-gradient() in cyberpunk and dark styles
NEW: added style simple_noaxes.ini
2024-01-22 21:31:09 +01:00
jkriege2
2b0dcca224 update whatsnew.dox 2024-01-21 22:22:38 +01:00
jkriege2
eb7a068fb7 NEW CSS-parser JKQTPCSSParser in order to parse e.g. \c linear-gradient() specifications in jkqtp_String2QBrushStyleExt()
NEW generic RegularExpression functions (jkqtp_rxExactlyMatches(), jkqtp_rxIndexIn(), jkqtp_rxContains(), jkqtp_rxPartiallyMatchesAt() )
2024-01-21 22:12:15 +01:00
jkriege2
11bafa52e4 NEW add jkqtp_roundToDigits() 2024-01-21 22:08:14 +01:00
jkriege2
2559097fd2 NEW add JKQTPExpected 2024-01-21 22:05:26 +01:00
jkriege2
d0a00a8c4c rename, doc update 2024-01-21 22:01:28 +01:00
jkriege2
31759543da NEW: add unit-test facilities (incl. running them on AppVeyor) 2024-01-21 21:58:56 +01:00
jkriege2
9600cc20fa docfix 2024-01-17 20:53:37 +01:00
jkriege2
f7cbb1dea8 add example and explanation for use of CMake's FetchCOnten-API 2024-01-17 20:42:12 +01:00
jkriege2
9e5737624c update whatsnew.dox 2024-01-16 16:58:38 +01:00
jkriege2
3412b4df32 docfix 2024-01-16 15:35:12 +01:00
jkriege2
b0df7a1fd7 NEW/BREAKING: provide general targets JKQTPlotter5/6::JKQTPlotter5/6, JKQTPlotter5/6::JKQTMathText5/6, ... which are independent of the type of build (shared/static)
NEW/BREAKING: refactor CMake-Code, so static/dynamic switch is done via <code>BUILD_SHARED_LIBS</code>, which retires <code>JKQtPlotter_BUILD_STATIC_LIBS</code>, <code>JKQtPlotter_BUILD_SHARED_LIBS</code> and removes the capability to build static and shared libraries in one location (fixes issue #104)
NEW: prepareed library for CMake's <a href="https://cmake.org/cmake/help/latest/module/FetchContent.html">FetchContent</a>-API
NEW: the different sub-libraries JKQTPlotter, JKQTFastPlotter (DEPRECATED), JKQTMath, JKQTMathText can be activated/deactivated with CMake options JKQtPlotter_BUILD_LIB_JKQTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTMATHTEXT, JKQtPlotter_BUILD_LIB_JKQTMATH
2024-01-16 13:07:08 +01:00
jkriege2
0ae712ad43 REWORKED improved implementation of jkqtp_bounded<T>(TIn v), which now can cope with cases where TIn is signed, but T is unsigned 2024-01-09 17:38:54 +01:00
jkriege2
9337976e30 updated whatsnew.dox 2024-01-08 20:32:30 +01:00
jkriege2
a2857b6826 fixed/expanded doc 2024-01-05 00:26:59 +01:00
jkriege2
aa2fcb108d NEW/REWORKED JKQTBasePlottercan be used is re-entrant, i.e. different instances can be used from different threads in parallel (although there is significant overhead due to shared caches between the threads!).
NEW added multithreaded example to demonstrate using JKQTBasePlotter in several parallel threads
2024-01-05 00:12:48 +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
8c01738359 add TODO 2023-12-22 20:32:08 +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
5dcd73222b fix typo 2023-12-19 11:40:13 +01:00
jkriege2
0080f07bda improve doc 2023-12-19 11:18:28 +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