Commit Graph

335 Commits

Author SHA1 Message Date
jkriege2
696ce11514 improved code style 2020-08-26 11:00:25 +02:00
jkriege2
0a634aabd0 reorganization: split jkqtpgeometric.h/.cpp into several smaller files that group the geomtric shapes by type 2020-08-26 10:36:07 +02:00
jkriege2
4e1c09c24b improved arrows in geometric elements:
- JKQTPGeoLine, JKQTPGeoPolyLines and JKQTPGeoInfiniteLine support decorators
- improved decorator drawing
- more decorator types
- improved example geometry
- added specific example geo_arrows
- improved documentation
- code cleanup
2020-08-23 13:13:53 +02:00
jkriege2
b3f4c64564 added geometric plot JKQTPGeoArrow object to draw arrows 2020-08-21 18:31:58 +02:00
jkriege2
7e9bad29b4 fix for issue #45:
- for Qt 5.15: added missing #include statements that became necessary since Qt 5.15
- for Qt 5.15: fixed use of several deprecated functions
- for Qt 5.15/6: removed usage of QMatrix
2020-08-14 14:12:59 +02:00
jkriege2
eb7fd1d524 some bugfixes for VStudio NOMINMAX-problem ... 2020-06-29 08:01:40 +02:00
jkriege2
52d3349199 improvements in CMake setup:
- removed more global settings (these are now target-specific)
- exporting now Config.cmake, which contains find_package(Qt) and loads a separate Targets.cmake
2020-06-28 15:53:26 +02:00
jkriege2
04219ec6d9 fixed issue #37: installing README/LICENSE files now to $PREFIX/doc/JKQtPlotter, instead of $PREFIX/doc/ 2020-06-28 09:53:33 +02:00
Dan Timson
397c72049f bugfix for reading style names 2020-02-24 17:41:16 +00:00
Jan W. Krieger
ee4262d14c
Merge pull request #34 from certik/log_zero2
Skip drawing the line for negative values in log plots
2019-11-29 07:27:50 +01:00
Ondřej Čertík
65c23c9669 Use linesP and vec_linesP names 2019-11-28 20:34:29 -07:00
Ondřej Čertík
ae722e8c33 Use a vector of QPolygonF directly 2019-11-28 20:32:38 -07:00
Ondřej Čertík
10edc6b0ac Skip drawing the line for negative values 2019-11-26 13:40:05 -07:00
jkriege2
9a667b9c22 several compiler warnings fixed 2019-11-24 12:20:43 +01:00
jkriege2
56660e2f4b fixed several compiler warnings (mostly Visual Studio): clean-up of use of math constants M_PI ... and j0()/j1()/...-functions etc. 2019-11-24 10:42:44 +01:00
jkriege2
29b1c5aa37 solved link error with Visual Studio (upper/lower case mismatch in DEFINE was 'JKQtPlotter_LIB_...' but should be 'JKQTPLOTTER_LIB_...') 2019-11-24 10:42:23 +01:00
jkriege2
4c9db88a2e some more fixes do MSVC build 2019-11-21 21:42:10 +01:00
jkriege2
6d8139e996 add missing compiler flag 2019-11-21 08:01:17 +01:00
jkriege2
f3fa587541 reworked CMake build system ... now JKQT...Config.cmake-files are written into the correct directory 2019-11-18 15:59:06 +01:00
jkriege2
d494407e76 fixed some compiler warnings (qSort is deprecated ... using std::sort instead) 2019-11-18 13:08:42 +01:00
jkriege2
61d3108fb8 removed some unneeded debug-messages 2019-11-18 08:15:07 +01:00
jkriege2
57e8fb3362 added CImg interface (header-only) + examples
some corrections for OpenCV examples
2019-11-16 13:50:43 +01:00
jkriege2
e087f40870 documentation improvement for OpenCV + minor fixes 2019-11-16 11:35:59 +01:00
jkriege2
528f6fe537 - added post-build deploy for OpenCV and Qt-DLLs (on windows)
- checked OpenCV-examples and improved OpenCV-copy-tool (now copies as an image column, as appropriate!)
2019-11-10 15:35:07 +01:00
jkriege2
92c1851c8c bugfix: OpenCV-interface used hidden function 2019-10-17 23:49:50 +02:00
Mikael
abc32875f6 qt5.9 support 2019-10-17 11:32:23 +02:00
Dan Timson
24af63688b corrections to allow palettes to be drawn correctly 2019-09-16 18:09:17 +01:00
jkriege2
686fb1eeb1 using mix-in class JKQTPColorPaletteWithModifierStyleAndToolsMixin now also in JKQTPMathImage ... 2019-07-31 22:10:26 +02:00
jkriege2
4347d27c04 * reworked color-palette-system:
1. added several new (JKQTPMathImageBone, JKQTPMathImageCool, JKQTPMathImageCopper, JKQTPMathImageAutumn, JKQTPMathImageSeismic, JKQTPMathImageTerrain, JKQTPMathImageViridis, JKQTPMathImageMagma, JKQTPMathImageInferno, JKQTPMathImagePlasma)
  2. reworked LUT-types (now a QVector, instead of a C-array, suing malloc)
  3. reworked available functions to build LUTs (cleanup, more options, clearer names)
  4. added functions to load palettes from files
  5. Improved documentation
* added example for user-controlled color palettes
2019-07-28 16:30:50 +02:00
jkriege2
933d374533 + added license/readme output to INSTALL-target in CMake
+ added example demonstrating how to link against a CMake-build of JKQTPlotter
+ improved documentation
2019-06-22 16:42:42 +02:00
jkriege2
34b31812ba + bugfixed DLL-export when building shared libraries
+ CMAKE now properly adds the Build-type when building libraries
+ removed some more compiler warning
2019-06-22 14:21:32 +02:00
jkriege2
77d799a742 - removed many compiler warnings
- enabled compiler-warnings in CMake-build
- several bugfixes (also to appveyor.yml)
- removed some function from JKQTBasePlotter, which were (messy) shortcuts to adding graphs
2019-06-21 21:48:14 +02:00
jkriege2
fb5b497356 - several bugfixes (doc etz.)
- decoration of library names in CMake-builds
- renamed advancedlineandfillstyling to advplotstyling to solve problems with too long filenames
2019-06-21 13:44:49 +02:00
jkriege2
7311948d53 using CMake now to build examples
restructuring/massive renaming to make this possible
2019-06-20 22:24:47 +02:00
jkriege2
fae6b28a58 further reorganizations of code 2019-06-20 16:25:29 +02:00
jkriege2
60999478f8 added CMake build scripts for libraries + some necessary reorganizations 2019-06-20 15:18:58 +02:00
jkriege2
d9e9a5aa67 added adaptor functions for violin plots 2019-06-18 19:36:54 +02:00
jkriege2
f5abce1e6d added violin plots and an example demonstrating their usage/generation from random data 2019-06-16 19:19:52 +02:00
jkriege2
1363cf7012 added function to JKQTPPlotElement that allow to transform a complete vector of x- or y-values in one call 2019-06-16 19:15:07 +02:00
jkriege2
c8395f2ada JKQTPSingleColumnSymbolsGraph: added Rug-Plot 2019-06-16 13:27:40 +02:00
jkriege2
f96e262371 JKQTPlotter/JKQTBasePlotter: added functions to set properties of all grid lines (x+y axis) together 2019-06-16 13:27:02 +02:00
jkriege2
9e4210c823 JKQTPDatastore: added functions to check for existence of a column and to retreive the data of a column as a QVector<double> 2019-06-16 12:54:56 +02:00
jkriege2
baab796541 bugfixes to documentation 2019-06-13 13:00:27 +02:00
jkriege2
2b5a30a668 statistics library: added functions for grouped statistics and adaptors for them
added example for grouped statistics
some improvements to documentation
2019-06-13 10:29:12 +02:00
jkriege2
d013530d81 bugfix: JKQTPBoxplotHorizontalGraph notch was not drawn correctly 2019-06-13 09:29:10 +02:00
jkriege2
6348de3d44 added appendToColumns() methods that allow to add values to several columns simultaneously 2019-06-12 13:06:53 +02:00
jkriege2
8aaf806ab5 added shortcut setShowZeroAxes() to JKQTBasePlotter and JKQTPlotter 2019-06-12 13:00:28 +02:00
jkriege2
8abb2492fa statistics library: added functions for 2D histograms and 2D kernel density estimates
statistics library: added adaptor functions for 2D histograms and 2D kernel density estimates
added examples for the two above
2019-06-11 18:06:03 +02:00
jkriege2
9ff9076e63 moved basic polynomial functions to jkqtpmathtools.h
renamed jkqtptoolsdebugging.h to jkqtpdebuggingtools.h
added jkqtpstatWeightedCoefficientOfDetermination()
2019-06-02 15:39:10 +02:00
jkriege2
ad38ac47f2 added weighted sum of deviations (chi-square) and coefficient of determination (R^2) to statistics library
added log regression model to statistics library
added output of R^2 and chi^2 to regression adaptors (output in graph label)
bugfixed some documentation typos
2019-06-02 14:17:49 +02:00
jkriege2
2d0b1e7935 added regression, IRLS robust regression, weighted regression and polynomial fitting/evaluation to statistics library
added example for regression, IRLS robust regression, weighted regression and polynomial fitting
2019-06-01 18:15:04 +02:00
jkriege2
199e8493fe ruler-tool shows slope 2019-06-01 14:02:35 +02:00
jkriege2
6fe42748ed improvements to iterator interface (full random access iterators, erase-remove-idion)
added specific example for the iterator interface
2019-05-31 14:51:01 +02:00
jkriege2
c56b02998f improvements to documentation structure 2019-05-30 11:52:48 +02:00
jkriege2
fdc4a1deb9 bugfixes (added missing DEFINE-compiler-flags for Visual C++, doxygen warnings/errors removed) 2019-05-30 11:19:56 +02:00
jkriege2
ff489e9fac bugfixes 2019-05-30 09:48:51 +02:00
jkriege2
356cc34349 new: Statistics library with functions to calculate histograms, regression, kernel density estimates, ... including a new example
new: iterator interface and improved documentation for JKQTPDatastore
reorganization of library (better separation of common code in jkqtpcommon and other code e.g. in jkqtplotter or jkqtmathtext)
2019-05-29 22:40:02 +02:00
jkriege2
212233aed6 Split of jkqtcommon/jkqtptools.h into several smaller units 2019-05-23 07:38:07 +02:00
jkriege2
0daa30cd45 improvements to documentation of image plots
better function hiding in derived image plot classes that use columns
2019-05-19 17:24:02 +02:00
jkriege2
5a4a778faf improved contour plots + added example for contour plots
split contour plot into two variant, one for C-array-data and one for image column data
improved doxygen annotation
2019-05-19 15:22:56 +02:00
jkriege2
028f192e7b image size automatically determined from JKQTPDatastore 2019-05-18 13:31:07 +02:00
jkriege2
5f62722d38 code reorganization 2019-05-18 13:22:46 +02:00
jkriege2
ad48bf1873 improvements to documentation 2019-05-18 10:49:49 +02:00
jkriege2
8edab9865e added JKQTPDatastore::appendFromContainerToColumn() and JKQTPDatastore::appendToColumn() that extend columns with additional rows (and move the to internal storage implicitly) 2019-05-17 08:59:33 +02:00
jkriege2
56e54baee9 new: rework/extension of the JKQTPDatastore interface (WIP)
new: Example simpletest_datastore, which demonstrates the extended interface of JKQTPDatastore
2019-05-16 21:28:15 +02:00
jkriege2
20352285ca new: improved styling options of boxplots (options to style many more elements of the plot), moved JKQTPGraphBoxplotStyleMixin to its own file
new: notched boxplots
new: example for styling boxplots
2019-05-11 15:56:11 +02:00
jkriege2
c873041d93 update: allow to style median-line of boxplots independently 2019-05-05 19:58:52 +02:00
jkriege2
67d23150f2 new: user-interaction tool that shows coordinates of data points near the current mouse position (when mouse is dragged, while mouse button is pressed)
new: user-interaction tool that measures distances and angles when mouse is dragged, while mouse button is pressed)
update: reworked error indicator base classes and styling settings
update: improved boxplot styling with a separate full-featured pen for the whiskers
2019-05-05 19:31:20 +02:00
jkriege2
f710048f49 clean-up of special context menu code + added documentation 2019-05-01 12:46:17 +02:00
jkriege2
3dc56510e9 changed backgroundColor-properties for plot/widget/key to backgroundBrush, modified example to demonstrate this 2019-04-24 19:33:51 +02:00
jkriege2
1064050b65 added example for advanced filling and line options 2019-04-23 23:50:06 +02:00
jkriege2
52cd2dc2d8 try to fix Visual Studio compile error 2019-04-22 18:35:08 +02:00
jkriege2
62fc116296 added Styling-Mix-In for boxplots 2019-04-22 17:20:33 +02:00
jkriege2
a67975e680 - major rework of graph styling (now using mix-in classes)
- some reorganizations into different files
- additional options for graph filling (color gradients, textures, ...) as provided by QBrush
- PREPARATIONS: added a general feature to JKQTPPlotElement which allows to show a graph in a highlighted state (if supported by the derived graph class!)
- JKQTPXYParametrizedScatterGraph: added functors to transform column values into symbol type+size and line-width to give even more control
- JKQTPStepHorizontalGraph has been renamed to JKQTPSpecialLineHorizontalGraph (vertical variants also) and have gained additional features (baseline for filling and drawing of symbols)
- filled curve graphs (e.g. JKQTPSpecialLineHorizontalGraph) are now merely a specializedly initialized JKQTPSpecialLineHorizontalGraph
2019-04-22 13:27:50 +02:00
jkriege2
3050debd16 - RGB-image plots now work properly with inverted axes (image is inverted, befor image was not shown at all)
- added example for simple RGB math image plot with RGB/CMY-color mapping
- fixed some of the OpenCV examples (improved QMake-project files)
2019-02-09 22:17:01 +01:00
jkriege2
69ad2a0182 - added styling system for JKQTPlotter (+example app)
- improved documentation
- changed: using static const variables instead of \c #define for fixed default values (e.g. JKQTPImageTools::LUTSIZE, JKQTPImageTools::PALETTE_ICON_WIDTH, JKQTPlotterDrawinTools::ABS_MIN_LINEWIDTH, JKQTMathText::ABS_MIN_LINEWIDTH ...)
- new: added debugging option, which surrounds different regions with visible rectangles (JKQTBasePlotter::enableDebugShowRegionBoxes() )
- fixed: colorbars at top were positioned over the plot label
- new: frames (plot viewport, key/legend ...) may be rounded off at the corners
- new: diverse new styling options (default font name/size ...)
- speed improvements to JKQTMathText::useSTIX()
2019-02-09 12:43:12 +01:00
jkriege2
6082010c98 finished mouse interaction example + improved documentation 2019-02-04 13:15:56 +01:00
jkriege2
08932f2863 improved documentation 2019-02-03 20:25:25 +01:00
jkriege2
4a63afc709 - fixed zoomin/synchronized graphs, which was broken by former update to user-interaction
- improved documentation & HTML-sytle
- removed datarange-facilities (not really useful!)
2019-02-03 14:08:16 +01:00
Jan W. Krieger
73bf9edd95 improved documentation 2019-01-29 12:06:06 +01:00
Jan W. Krieger
c5b9504189 finished rework of user-interaction API for the mouse 2019-01-28 17:05:03 +01:00
Jan W. Krieger
17a4473e4f reworked how context-menus are specified/activated
prepared for future reworks
some renames
2019-01-28 10:46:38 +01:00
Jan W. Krieger
75d8fc8314 reworked the functions that allow to specify how JKQTPlotter reacts to mouse single-click actions 2019-01-27 23:24:12 +01:00
jkriege2
dabc061de9 implemented panning the plot with the mouse
fixed: switchability of zoomByMouseWheel
fixed: 0 on axis sometimes shown as 10^{-17}...
2019-01-27 08:30:59 +01:00
jkriege2
c74e87ad31 improved user-interactions (& their example) 2019-01-26 20:12:54 +01:00
jkriege2
0e2237e92f - more refactorings to modernize C++
- fixed JKQTPColumnMathImage with modifiers
- improved documentation
- make use of link_prl/create_prl in QMake projects (see http://doc.qt.io/qt-5/qmake-advanced-usage.html)
2019-01-26 18:00:42 +01:00
jkriege2
afaee94f7d JKQTPSingleColumnSymbolsGraph now uses fixed seed-value for random scattering plot 2019-01-26 12:35:57 +01:00
jkriege2
847fcb7a35 improved code (cont...&-parameters, diverse refactoring for C++1//modernC++, diverse corrections ...) 2019-01-26 12:28:44 +01:00
jkriege2
df257a6b1a major renaming to get rid of the get_.../set_... function names
improved documentation
2019-01-25 20:17:07 +01:00
jkriege2
a73deb098d bugfixed missing include 2019-01-25 19:24:44 +01:00
jkriege2
d35aa31584 improved documentation
started to add example for user-interactions in JKQTPlotter
2019-01-24 22:49:10 +01:00
jkriege2
2d08250db6 - added new graph: JKQTPSingleColumnSymbolsGraph
- fixed additional renames JKQTPLotter->JKQTPlotter
- improved documentation (boxplots, JKQTMathText)
- added several examples
2019-01-20 16:15:10 +01:00
jkriege2
86c2f3fa76 extensive renaming of classes --> using a unified CamelCase-Scheme now for class/function names 2019-01-20 10:49:29 +01:00
jkriege2
306436f770 corrected documentation 2019-01-19 18:06:30 +01:00
jkriege2
7adc6c8b82 cleaned/improved doc further 2019-01-19 16:13:08 +01:00
Jan W. Krieger
b90f16d4db fixed some documentation errors (wrong image links ...) 2019-01-15 21:28:07 +01:00
jkriege2
488df45829 improved code and files for doxygen documentation 2019-01-12 23:11:08 +01:00
jkriege2
aebd4ec06d improved code-comments for doxygen, added several doc-images 2019-01-12 16:01:55 +01:00
jkriege2
1e0b37853c some code refactoring (removed all remaining macro-defined getter/setter-functions and properties ...) 2019-01-09 21:23:24 +01:00
jkriege2
8ae0e20892 some code refactoring (removed some macro-defined getter-functions and properties ...) 2019-01-08 21:00:25 +01:00
jkriege2
5b910fc9b3 added example for geometric objects 2019-01-07 21:00:56 +01:00
Jan W. Krieger
9d43cd67cf several improvements in build infrastructure + some tidying the code (made classes on data storeage non-virtual) + moved OpenCV interface to a separate header-only file 2018-12-28 15:17:40 +01:00
Jan W. Krieger
0abc131943 clean up code, use override specifiers, prepare for plotObjects with different coordinate systems (e.g. relative ...) 2018-12-27 22:52:00 +01:00
Jan W. Krieger
877abaf2b8 add example for pointilistic image plot, using a scatter plot 2018-12-24 21:39:37 +01:00
Jan W. Krieger
d70c6cf377 tidied up code of parsed function graphs, added f(y) parsed function class (JKQTPyParsedFunctionLineGraph), improved examples 2018-12-24 15:07:14 +01:00
Jan W. Krieger
94acc1b7d5 JKQTPxFunctionLineGraph and JKQTPyFunctionLineGraph now allow for simplified functions without parameters + improved handling of special functions, improved example for parsed functions (with possibility to display sample points 2018-12-24 12:29:33 +01:00
Jan W. Krieger
4ac14ed871 improved parsed/evaluated function classes (made C++11-ready) and added examples for them 2018-12-23 20:27:24 +01:00
Razi Alavizadeh
8896eed69c MSVC: Fix ambiguous call to JKQtBasePlotter::JKQtBasePlotter(void) 2018-12-19 05:02:38 +03:30
jkriege2
1737c83d42 restructured files in this lib further (splt into more files, made filenames more logical, ...) 2018-12-18 17:13:18 +01:00
jkriege2
e9ba3c0bd8 bugfix: linewidthColumn was not initialized (to -1) 2018-12-16 15:25:37 +01:00
jkriege2
4099cfcd7e fixed some compiler warnings
added possibility to modify line width in JKQTPxyParametrizedScatterGraph
improved key symbols of JKQTPxyParametrizedScatterGraph
2018-12-16 14:59:39 +01:00
jkriege2
48c376fe1b bugfix: symbol in key is drawn with anti-aliasing 2018-12-16 14:58:30 +01:00
jkriege2
66c469dc61 improvements to linking plots (synchronization can be done by JKQtBasePlotter::synchronizeToMaster() 2018-12-13 22:29:30 +01:00
jkriege2
8ced68f619 added a method that copies dtaa from a std::map/QMap into the datastore 2018-12-13 22:28:13 +01:00
jkriege2
9debaae7fe renamed impulse plot classes, so the names actually make sense
added example for impulse plots
2018-12-11 23:00:43 +01:00
jkriege2
5e0471d0eb bugfix in JKQTPfilledCurveYGraph and example for JKQTPfilledCurveYGraph 2018-12-11 00:05:21 +01:00
jkriege2
49bac25809 improved data-access via JKQTPcolumn
added example for filled curves and data-access via JKQTPcolumn
2018-12-10 23:57:20 +01:00
Razi Alavizadeh
3ae8281804 MSVC: Fix ambiguous call to overloaded function fpclassify()
Its called by std::isnan(), std::isinf() and std::isfinite() that are
 used in the following methods:
JKQTPimagePlot_getImageMin<T>()
JKQTPimagePlot_array2RGBimage<T>()
JKQTPimagePlot_array2image<T>()
2018-12-08 15:58:26 +03:30
Razi Alavizadeh
1b99daf7e0 Fix warning variable is initialized but not referenced 2018-12-08 15:58:25 +03:30
Razi Alavizadeh
12482b862a Fix warning unreferenced formal parameter 2018-12-08 15:58:25 +03:30
Razi Alavizadeh
fac3bd744d MSVC: Fix warning C4138: '*/' found outside of comment 2018-12-08 15:58:25 +03:30
Razi Alavizadeh
4ae796d98f Fix expression did not evaluate to a constant 2018-12-08 15:58:24 +03:30
jkriege2
08d51390b3 improved step plots (JKQTPstepHorizontalGraph, JKQTPstepVerticalGraph) with 3 step-modes (left/center/right), instead of only two (right/center)
added example for step plots
2018-12-06 21:41:35 +01:00
jkriege2
6b2ea6dc97 improvements to JKQTPImage, which may now also own an image and can receive a copy to this internally owned object from an external instance
added example that shows how to plot a QImage
2018-12-06 18:19:02 +01:00
jkriege2
dc36c6c90a improved log-axis-example 2018-12-03 23:09:12 +01:00
jkriege2
4680106734 some bug-fixes (ressources from library were not loaded, compile order in projects was wrong) 2018-12-02 18:30:12 +01:00
jkriege2
ca4065dae9 some reorganizations + QMake-build-projects with library 2018-12-02 14:08:43 +01:00
jkriege2
cdf76539b3 added example project for error indicator styles 2018-12-02 11:38:27 +01:00
jkriege2
18a3a9857a added y-range-plot JKQTPfilledVerticalRangeGraph and example for it + date/time axes 2018-12-01 16:02:04 +01:00
jkriege2
ffb70ace09 some renames and new example for line styles and symbols 2018-11-29 21:57:35 +01:00
jkriege2
db1d0cf102 added more examples and explanations for image plots, fixed some bugs in large example/test 2018-11-28 23:10:14 +01:00
jkriege2
a446de1ff5 added RGB image plot example/test 2018-11-27 22:49:27 +01:00
jkriege2
6cfc3dba59 added OpenCV-support 2018-11-26 22:14:41 +01:00
jkriege2
9988df1506 some more fixes for reorganization 2018-11-25 20:36:26 +01:00
jkriege2
d708424f8a reorganized library files into lib-subdirectory and modified tests, doc, ... accordingly 2018-11-25 20:25:44 +01:00