Commit Graph

175 Commits

Author SHA1 Message Date
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
d46d82b17c JKQTPlotter: added examples for custom symbols 2022-09-07 21:38:29 +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
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
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
jkriege2
6eba8acbf2 updated many documentation images to auto-generated ones 2022-08-28 22:48:14 +02:00
jkriege2
934aab330d updated more example images 2022-08-26 22:41:10 +02:00
jkriege2
a1604e1eeb added more auto-generated screenshots 2022-08-26 22:32:48 +02:00
jkriege2
03031e3762 JKQTPlotter:
- NEW: improved plotting speed for line-graphs by a compression algorithm (see JKQTPGraphLinesCompressionMixin) that removes overlaying lines (e.g. in JKQTPXYLineGraph)
    - NEW: improved plotting speed for line-graphs by a clipping algorithm (applies to JKQTPXYLineGraph, JKQTPGraphErrorStyleMixin, JKQTPSpecialLineHorizontalGraph, JKQTPSpecialLineVerticalGraph and others)
    - NEW: improved plotting speed for scatter-graphs by not calling draw functions for symbols outside the plot window (e.g. in JKQTPXYLineGraph)
2022-08-25 15:17:50 +02:00
jkriege2
cffa7189d4 doc update 2022-08-21 21:34:05 +02:00
jkriege2
07d3fdcd99 JKQTMAthText: improvements in font handling and documentation 2022-08-21 14:49:48 +02:00
jkriege2
d4c024fcd8 docfix 2022-08-19 13:59:31 +02:00
jkriege2
5722970496 JKQTMathText:
- NEW: added environment-modifying commands for font sizes: \c \\tiny ... \c \\normalsize ... \c \\Huge
- NEW: added environment-modifying commands for text color: \c {\\color{COL}...}
- NEW: added environment-modifying commands for text formatting: \c {\\bfseries...}, \c {\\itshape...}, \c {\\bf...}, \c {\\it...}, \c {\\sffamily...}, \c {\\ttfamily...}, ...
- REFACTORING: split up several .h/.cpp-files in nodes subdirectory
2022-08-19 12:16:00 +02:00
jkriege2
bc4d5e2b86 made text size of JKQTMathText example images smaller + improved some images 2022-08-17 23:13:30 +02:00
jkriege2
dde8deb56f JKQTMathText: improved placement of sub-/superscript nodes by using JKQTMathtextNodeSize::baselineXCorrection to shift subscript to the left for e.g. preceding italic text or symbols that require such a shift
JKQTMathText: moved sub-/superscripts placed below/above a bit further apart from the central symbol/node
2022-08-17 22:56:57 +02:00
jkriege2
bbbd0ce11a add meta-tags to doxygen output and made dyoxygen logo smaller 2022-08-17 20:30:23 +02:00
jkriege2
6fa5dd65ed JKQTMathText: Code Cleanup: using JKQTMathTextNodeSize for all size-calculation functions and got rid of all functions that take the output parameters with call-by-reference
JKQTMathText: JKQTMathTextBraceNode now properly supports different opening and closing braces e.g. |...> for bra-vetors
2022-08-16 23:05:04 +02:00
jkriege2
74cf8046ce code cleanup: Removed Parameter prevNodeSize from JKQTMathTextNode::draw() and JKQTMathTextNode::getSize()/JKQTMathTextNode::getSizeInternal(), since it is only really necessary for JKQTMathTextSubscriptNode and JKQTMathTextSuperscriptNode
bugfixed possible crash in JKQTMathTextWhitespaceNode (QMap[n1]=QMap[n2]=something; does not work for some reason)
2022-08-14 16:59:03 +02:00
jkriege2
e757e26503 JKQTMathText: ensure mini size of \left/\right braces, when contained text is very small, e.g. only lower-case
JKQTMathText: improve width-calculation of \left/\right braces
2022-08-13 21:56:09 +02:00
jkriege2
f83a3468b1 JKQTMathText:
- new options interface for JKQTMathText::parse()
  - breaking: removed JKQTMathtext::unparsedNode
  - several minor improvements
2022-08-13 19:43:39 +02:00
jkriege2
ce6637fb4b NEW: JKQTMathText::parse() by default allows linebreaks in the LaTeX string to be parsed. This can be switched off by a parameter
NEW: TabSize can be set in JKQTMathTextVerbatimNode
2022-08-13 14:36:49 +02:00
jkriege2
c58fc985ce JKQTMathText: optimized frac/sub/super spacing 2022-08-12 16:50:26 +02:00
jkriege2
04beafb1a6 JKQTMathText: text/narrow-math-operators have less space around the, 2022-08-12 13:28:34 +02:00
jkriege2
67579da1bc JKQTMathText: NEW: array/tabular-environments have limited support for formatting string like l|r|c and for \hline , \hdashline , \toprule , \midrule , \bottomrule 2022-08-12 12:54:10 +02:00
jkriege2
cda22a9d7a docufix 2022-08-11 17:26:46 +02:00
jkriege2
8876c361cf bugfix QSet <--> QList conversion + docfix 2022-08-11 15:12:11 +02:00
jkriege2
bfee90b4fe JKQTMathText: added long arrow symbols 2022-08-11 14:17:39 +02:00
jkriege2
331a67c5a8 JKQTMathText: added \c \\dashuline{X}, \c \\dotuline{X}, \c \\underleftarrow{X}, \c \\underrightarrow{X}, \c \\underleftrightarrow{X}, \c \\overleftarrow{X}, \c \\overrightarrow{X}, \c \\overleftrightarrow{X}
JKQTMathText: corrected linewidths for decorations
2022-08-11 14:17:04 +02:00
jkriege2
62e3b47d08 JKQTMathText: improved rendering of decorations 2022-08-11 12:26:14 +02:00
jkriege2
c7b0185735 JKQTMathtext: added several new symbols that were missing so far 2022-08-11 11:33:29 +02:00
jkriege2
84f02e3ab6 JKQTMathText: improved symbol listing (auto-generated) 2022-08-11 09:06:06 +02:00
jkriege2
e86fcb8c3c docfix 2022-08-10 15:20:21 +02:00
jkriege2
9ab3ddd3b0 doc-update 2022-08-10 14:41:26 +02:00
jkriege2
c917b53886 JKQTMathText documentation: improved symbol images by ensuring that they all have at least the height of "Aq", so it is easier to judge the position of the symbols and their size 2022-08-10 14:37:38 +02:00
jkriege2
868b89a99e JKQTMathText:
NEW: added \c \\snugshade{...}
  NEW: added \c \\snugbox{...}
  NEW: added \c \\phantom{xXy} , \c \\vphantom{xXy} and \c \\hphantom{xXy} instructions for whitespaces with the size of \c xXy
2022-08-10 14:36:16 +02:00
jkriege2
5283a1a995 JKQTMathText: IMPROVED/REWORKED rendering of blackboard font: now several different rendering modes can be selected using JKQTMathText::setFontBlackboradMode() 2022-08-10 12:12:30 +02:00
jkriege2
94b4e69b5b bugfixed JKQTMathText doc images (auto-generated) 2022-08-10 12:10:43 +02:00
jkriege2
3de6cf59d2 JKQTMathtext: bugfixed symbols for registered and copyright (had wrong codepoint) 2022-08-10 12:09:13 +02:00
jkriege2
0524c4b43d doc update 2022-08-08 10:39:15 +02:00
jkriege2
42fdec354e readded symbol images 2022-08-08 10:15:24 +02:00
jkriege2
030cdfe2e5 bugfixed JKQTMathText::drawIntoImage(), some code-cleanup in the other draw() functions + update of autogenerated doc-images 2022-08-08 10:12:59 +02:00
jkriege2
7d24ef2478 updated doc 2022-08-07 23:14:57 +02:00
jkriege2
2e8bd0134d removed some unused files 2022-08-07 23:01:09 +02:00
jkriege2
03ba0572af bigfixed some problems 2022-08-07 22:59:32 +02:00
jkriege2
5cc0a2478a JKQTMathText: updated documentation with new (auto-generated) images, added CMake Custom Target to generate documentation images with jkqtmathtext_render, improved documentation 2022-08-07 22:23:19 +02:00
jkriege2
7d686f0c9a JKQTMathText:
- BREAKING/REWORKED: The \\verb!...!-command now works the same as in LaTeX
  - NEW: added support for \\begin{verbatim}...\\end{verbatim}, \\begin{verbatim*}...\\end{verbatim*}
2022-08-03 16:12:19 +02:00
jkriege2
c7ffdacfcc JKQTMathText: added support for \\bigl,\\bigr,\\Bigr,... commands for fixed-size but enlarged paramtheses 2022-08-03 09:55:45 +02:00
jkriege2
44c843b90e JKQTMathText: improved documentation 2022-08-02 12:20:15 +02:00
jkriege2
b38ccc5fbc JKQTMathText: added \dashbox() and \dotbox{} 2022-08-01 15:17:34 +02:00
jkriege2
7e12fb331e JKQTMathText: added support for \c \\char"HEX , \c \\char'OCTAL and \c \\charDECIMAL for inserting any uicode character code 2022-08-01 13:39:34 +02:00
jkriege2
de80fa666b JKQTMathText: added support for -- and --- for en- and em-dashes 2022-08-01 11:47:20 +02:00
jkriege2
22c45bcdea JKQTMathText: added support for framed/shaded/snugshade-environments with linebreaks and framed 2022-07-31 08:17:45 +02:00
jkriege2
816a97f88f JKQTMathText: added support for flushleft/flushright/center-environments with linebreaks 2022-07-31 07:56:13 +02:00
jkriege2
326ba7313c JKQTMathText:
- NEW: JKQTMathTextVerticalListNode allows to typeset a vertical list of lines
- NEW: added \substack[lcr]{...\\...}, \lsubstack{...\\...}, \rsubstack{...\\...} instructions
2022-07-30 23:30:47 +02:00
jkriege2
edd7784d47 JKQTMathText: \\unicode{} now always accepts a codepoint and \utfeight{} a UTF8-seuqnece 2022-07-26 22:27:16 +02:00
jkriege2
e469dbb9ae JKQTMathText: added instruction \\utfeight{HEX} 2022-07-25 23:29:32 +02:00
jkriege2
2ec3d12507 JKQTMathText: added \unicode{XXXX} instruction 2022-07-24 23:22:54 +02:00
jkriege2
18b0ef61f1 JKQTMathText: added instruction \\userfont 2022-07-24 22:31:38 +02:00
jkriege2
f01a198b7b fixed several doxygen errors 2022-07-24 14:50:28 +02:00
jkriege2
a8da6caf0d IMPROVED JKQTMathText: tokenizing and parsing of text in text-mode: now a lot of accents with commands like \"a, \'e and variants (e.g. {\"a}, \"{a}, ...) are supported now
NEW in JKQTMathText: added \acute{X}, \grave{X}, \acute{X}
2022-07-10 22:01:11 +02:00
jkriege2
5dee5ae93d JKQTMathText: refactored \\instruction parsing
JKQTMathText: added \shaded{color}{...}, \ovalbox{}, ... commands
2022-07-08 23:15:42 +02:00
jkriege2
0ab3626f4d refactored symbol node, should also fix issue #78 2022-07-05 22:03:08 +02:00
jkriege2
9a13e5127a JKQTMathText: improve documentation (fixes issue #74), add new draw()-variant, which accepts a QPointF 2022-07-03 21:30:12 +02:00
jkriege2
8814523e63 BUGFIX: JKQTMathText: corrected size-calculation and drawing of decorations 2022-06-28 23:14:31 +02:00
jkriege2
6c26e250da IMPROVED: JKQTMathText: rendering of sqrt 2022-06-28 12:00:20 +02:00
jkriege2
b83e0a3292 NEW: JKQTMathText: added \underbracket and \overbracket 2022-06-28 10:15:54 +02:00
jkriege2
2d2acc3b19 NEW: JKQTMathText: added top-corner (\ulcorner/\urcorner) and bottom-corner brackets (\llcorner/\lrcorner) 2022-06-26 21:17:42 +02:00
jkriege2
45d6ef373b bugfix: JKQTMathText: \sum and \prod used the wrong symbol in XITS-mode
NEW: JKQTMathText: \limits and \nolimits work as in LaTeX now (before it was simply removed and the functionality implemented for a fixed list of symbols)
remove/breaking: JKQTMathText: \v[a-zA-Z] and shorthand for \vec{a-zA-Z} was removed
improvement: improved typesetting of sub-/supercripts, especially for large math operators and braces
2022-06-26 00:28:49 +02:00
jkriege2
48a9a45af9 JKQTMathText code/documentation cleanup 2022-06-20 12:18:19 +02:00
jkriege2
7b83640a19 moved JKQTMathText images to their own subdirectory 2022-06-09 14:42:25 +02:00
jkriege2
992cad7ff3 MODIFIED: brace node now calculates the extension of the child height above or below the strikeoutPos, in order to center braces around the strikeoutPos
fixed: strikeoutPos was not correctly calculated in sub-/superscript node
NEW: JKQTMathText shows strikeoutPos when drawing Debug-Boxes
2022-06-09 14:31:27 +02:00
jkriege2
143ae54ae8 JKQTMathText: modified text-positions of \sfrac and \stfrac 2022-06-09 11:32:57 +02:00
jkriege2
1a8de1bb2f - NEW: reworked node class tree: inserted base-class nodes for single-child, dual-child!
- NEW: improved frac-rendering: font-scaling takes nesting-level into account, overall-rendering, sizes, if a brace surrounds a frac, the heights are equal above and below to center the brace ...
2022-06-08 23:52:22 +02:00
jkriege2
b0f8a2d0b9 - NEW: JKQTMathText supports new decoration instructions: \cancel, \xcancel, \bcancel, \sout, \ocirc, \widetilde, \widehat, \breve</li>
- NEW: JKQTMathText: reworked drawing of decorations: improved appearance and positioning!
2022-06-06 23:24:05 +02:00
jkriege2
0f0c03772e NEW: JKQTMathText supports new instructions: \cancel, \xcancel, \bcancel, \sout 2022-06-06 14:16:50 +02:00
jkriege2
f33838f187 added debug-feature to show boxes around text in the plot 2022-06-02 23:05:58 +02:00
jkriege2
5fae11472c added seaborn style 2022-05-23 22:44:58 +02:00
Jan W. Krieger
2ffc4330c3
added social media banners 2022-05-13 11:45:44 +02:00
jkriege2
48ec6060ab * additional JKQTPColorDerivationMode
* bugfixes for Boxplots
* style improvements
2020-09-28 15:37:45 +02:00
jkriege2
a371dc86a5 updated predefined styles to updated styling system 2020-09-28 12:46:58 +02:00
jkriege2
f368855076 renamed JKQTPPlotObject->JKQTPGeometricPlotElement and added new base class JKQTPPlotAnnotationElement 2020-09-21 13:15:57 +02:00
jkriege2
f4767072a4 - improved/breaking change: reworked class hierarchy of range plot elements (JKQTPVerticalRange and JKQTPHorizontalRange)
- improved their documentation
2020-09-19 19:59:33 +02:00
jkriege2
6875e0ae6c - improved/breaking change: reworked class hierarchy of range charts.
- new: added JKQTPFilledHorizontalRangeGraph, complementing JKQTPFilledVerticalRangeGraph
2020-09-19 14:41:53 +02:00
jkriege2
c57c672f78 new: a new graph class JKQTPXYFunctionLineGraph draws parametric 2D curves (f(t) -> [x,y]) 2020-09-04 23:47:03 +02:00
jkriege2
33a9cb5b2d bugfix: straight lines in pie and chord were not drawn as curve in DrawMode=DrawAsMathematicalCurve 2020-09-03 23:28:48 +02:00
jkriege2
279ef7880a - improved: geometric objects now use an adaptive drawing algorithm to represent curves (before e.g. ellipses were always separated into a fixed number of line-segments)
- improved: constructors and access functions for several geometric objects (e.g. more constructors, additional functions to retrieve parameters in diferent forms, iterators for polygons, ...)
- new: all geometric objects can either be drawn as graphic element (i.e. lines are straight line, even on non-linear axes), or as mathematical curve (i.e. on non-linear axes, lines become the appropriate curve representing the linear function, connecting the given start/end-points). The only exceptions are ellipses (and the derived arcs,pies,chords), which are always drawn as mathematical curves
2020-09-03 23:08:52 +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
c9ebd73b37 added LOGO 2020-08-13 15:20:56 +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
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