improved code and files for doxygen documentation

This commit is contained in:
jkriege2 2019-01-12 18:53:16 +01:00
parent 3688595f51
commit 488df45829
110 changed files with 3379 additions and 3200 deletions

View File

@ -1,4 +1,4 @@
# JKQtPlotter # JKQtPlotter - A Qt Plotting Library
This is an extensive library of function/data plotter classes for Qt (>= 4.7, tested with Qt up to 5.11). This is an extensive library of function/data plotter classes for Qt (>= 4.7, tested with Qt up to 5.11).
This software is licensed under the term of the [GNU Lesser General Public License 2.1 This software is licensed under the term of the [GNU Lesser General Public License 2.1

View File

@ -1,4 +1,4 @@
# Doxyfile 1.8.14 # Doxyfile 1.8.15
# This file describes the settings to be used by the documentation system # This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project. # doxygen (www.doxygen.org) for a project.
@ -17,10 +17,10 @@
# Project related configuration options # Project related configuration options
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the config file # This tag specifies the encoding used for all characters in the configuration
# that follow. The default is UTF-8 which is also the encoding used for all text # file that follow. The default is UTF-8 which is also the encoding used for all
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv # text before the first occurrence of this tag. Doxygen uses libiconv (or the
# built into libc) for the transcoding. See # iconv built into libc) for the transcoding. See
# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # https://www.gnu.org/software/libiconv/ for the list of possible encodings.
# The default value is: UTF-8. # The default value is: UTF-8.
@ -93,6 +93,14 @@ ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English OUTPUT_LANGUAGE = English
# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all generated output in the proper direction.
# Possible values are: None, LTR, RTL and Context.
# The default value is: None.
OUTPUT_TEXT_DIRECTION = None
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class # descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this. # documentation (similar to Javadoc). Set to NO to disable this.
@ -226,7 +234,7 @@ SEPARATE_MEMBER_PAGES = NO
# uses this value to replace tabs by spaces in code fragments. # uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4. # Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 4 TAB_SIZE = 2
# This tag can be used to specify a number of aliases that act as commands in # This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form: # the documentation. An alias has the form:
@ -236,7 +244,12 @@ TAB_SIZE = 4
# will allow you to put the command \sideeffect (or @sideeffect) in the # will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading # documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert # "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines. # newlines (in the resulting output). You can put ^^ in the value part of an
# alias to insert a newline as if a physical newline was in the original file.
# When you need a literal { or } or , in the value part of an alias you have to
# escape them by means of a backslash (\), this can lead to conflicts with the
# commands \{ and \} for these it is advised to use the version @{ and @} or use
# a double escape (\\{ and \\})
ALIASES = ALIASES =
@ -274,17 +287,26 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO OPTIMIZE_OUTPUT_VHDL = NO
# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
# sources only. Doxygen will then generate output that is more tailored for that
# language. For instance, namespaces will be presented as modules, types will be
# separated into more groups, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_SLICE = NO
# Doxygen selects the parser to use depending on the extension of the files it # Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given # parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it # extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and # using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript, # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: # Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: # Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
# or free formatted code, this is the default for Fortran type files), VHDL. For # tries to guess whether the code is fixed or free formatted code, this is the
# instance to make doxygen treat .inc files as Fortran files (default is PHP), # default for Fortran type files), VHDL, tcl. For instance to make doxygen treat
# and .f files as C (default is Fortran), use: inc=Fortran f=C. # .inc files as Fortran files (default is PHP), and .f files as C (default is
# Fortran), use: inc=Fortran f=C.
# #
# Note: For files without extension you can use no_extension as a placeholder. # Note: For files without extension you can use no_extension as a placeholder.
# #
@ -295,7 +317,7 @@ EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable # according to the Markdown format, which allows for more readable
# documentation. See http://daringfireball.net/projects/markdown/ for details. # documentation. See https://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can # The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues. # case of backward compatibilities issues.
@ -753,7 +775,8 @@ WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return # are documented, but have no documentation for their parameters or return
# value. If set to NO, doxygen will only warn about wrong or incomplete # value. If set to NO, doxygen will only warn about wrong or incomplete
# parameter documentation, but not about the absence of documentation. # parameter documentation, but not about the absence of documentation. If
# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
# The default value is: NO. # The default value is: NO.
WARN_NO_PARAMDOC = NO WARN_NO_PARAMDOC = NO
@ -790,7 +813,9 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ../lib/ INPUT = ../lib/ \
./dox/ \
../examples
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@ -813,7 +838,7 @@ INPUT_ENCODING = UTF-8
# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. # *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \ FILE_PATTERNS = *.c \
*.cc \ *.cc \
@ -845,7 +870,8 @@ FILE_PATTERNS = *.c \
*.f90 \ *.f90 \
*.f \ *.f \
*.vhd \ *.vhd \
*.vhdl *.vhdl \
*.md
# The RECURSIVE tag can be used to specify whether or not subdirectories should # The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well. # be searched for input files as well.
@ -868,7 +894,10 @@ EXCLUDE = moc_*.* \
Makefile*.* \ Makefile*.* \
../examples/jkqtmathtext_test/asana \ ../examples/jkqtmathtext_test/asana \
../examples/jkqtplot_test/EmfEngine \ ../examples/jkqtplot_test/EmfEngine \
../examples/jkqtplot_test/QTeXEngine ../examples/jkqtplot_test/QTeXEngine \
html \
../lib/README.md \
../examples/README.md
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded # directories that are symbolic links (a Unix file system feature) are excluded
@ -884,7 +913,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to # Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/* # exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS = EXCLUDE_PATTERNS = */build-*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the # (namespaces, classes, functions, etc.) that should be excluded from the
@ -901,8 +930,7 @@ EXCLUDE_SYMBOLS =
# that contain example code fragments that are included (see the \include # that contain example code fragments that are included (see the \include
# command). # command).
EXAMPLE_PATH = .. \ EXAMPLE_PATH = ../examples/
../examples/
# If the value of the EXAMPLE_PATH tag contains directories, you can use the # If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
@ -1010,7 +1038,7 @@ INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# function all documented functions referencing it will be listed. # entity all documented functions referencing it will be listed.
# The default value is: NO. # The default value is: NO.
REFERENCED_BY_RELATION = NO REFERENCED_BY_RELATION = NO
@ -1047,7 +1075,7 @@ SOURCE_TOOLTIPS = YES
# #
# To use it do the following: # To use it do the following:
# - Install the latest version of global # - Install the latest version of global
# - Enable SOURCE_BROWSER and USE_HTAGS in the config file # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
# - Make sure the INPUT points to the root of the source tree # - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal # - Run doxygen as normal
# #
@ -1075,7 +1103,7 @@ VERBATIM_HEADERS = YES
# rich C++ code for which doxygen's built-in parser lacks the necessary type # rich C++ code for which doxygen's built-in parser lacks the necessary type
# information. # information.
# Note: The availability of this option depends on whether or not doxygen was # Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse-libclang=ON option for CMake. # generated with the -Duse_libclang=ON option for CMake.
# The default value is: NO. # The default value is: NO.
CLANG_ASSISTED_PARSING = NO CLANG_ASSISTED_PARSING = NO
@ -1092,12 +1120,11 @@ CLANG_OPTIONS =
# path to the compilation database (see: # path to the compilation database (see:
# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files # http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files
# were built. This is equivalent to specifying the "-p" option to a clang tool, # were built. This is equivalent to specifying the "-p" option to a clang tool,
# such as clang-check. These options will then be pased to the parser. # such as clang-check. These options will then be passed to the parser.
# Note: The availability of this option depends on whether or not doxygen was # Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse-libclang=ON option for CMake. # generated with the -Duse_libclang=ON option for CMake.
# The default value is: 0.
CLANG_COMPILATION_DATABASE_PATH= 0 CLANG_DATABASE_PATH =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index # Configuration options related to the alphabetical class index
@ -1287,13 +1314,13 @@ HTML_INDEX_NUM_ENTRIES = 100
# If the GENERATE_DOCSET tag is set to YES, additional index files will be # If the GENERATE_DOCSET tag is set to YES, additional index files will be
# generated that can be used as input for Apple's Xcode 3 integrated development # generated that can be used as input for Apple's Xcode 3 integrated development
# environment (see: https://developer.apple.com/tools/xcode/), introduced with # environment (see: https://developer.apple.com/xcode/), introduced with OSX
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a # 10.5 (Leopard). To create a documentation set, doxygen will generate a
# Makefile in the HTML output directory. Running make will produce the docset in # Makefile in the HTML output directory. Running make will produce the docset in
# that directory and running make install will install the docset in # that directory and running make install will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
# for more information. # genXcode/_index.html for more information.
# The default value is: NO. # The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES. # This tag requires that the tag GENERATE_HTML is set to YES.
@ -1332,7 +1359,7 @@ DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on # (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
# Windows. # Windows.
# #
# The HTML Help Workshop contains a compiler that can convert all HTML output # The HTML Help Workshop contains a compiler that can convert all HTML output
@ -1408,7 +1435,7 @@ QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace # Project output. For more information please see Qt Help Project / Namespace
# (see: http://doc.qt.io/qt-4.8/qthelpproject.html#namespace). # (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project. # The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES. # This tag requires that the tag GENERATE_QHP is set to YES.
@ -1416,7 +1443,8 @@ QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual # Help Project output. For more information please see Qt Help Project / Virtual
# Folders (see: http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders). # Folders (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
# folders).
# The default value is: doc. # The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES. # This tag requires that the tag GENERATE_QHP is set to YES.
@ -1424,21 +1452,23 @@ QHP_VIRTUAL_FOLDER = doc
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom # filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). # Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES. # This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME = QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom # custom filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). # Filters (see: http://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES. # This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS = QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see: # project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes). # http://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES. # This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS =
@ -1571,7 +1601,7 @@ MATHJAX_FORMAT = HTML-CSS
# Content Delivery Network so you can quickly see the result without installing # Content Delivery Network so you can quickly see the result without installing
# MathJax. However, it is strongly recommended to install a local copy of # MathJax. However, it is strongly recommended to install a local copy of
# MathJax from https://www.mathjax.org before deployment. # MathJax from https://www.mathjax.org before deployment.
# The default value is: http://cdn.mathjax.org/mathjax/latest. # The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.
# This tag requires that the tag USE_MATHJAX is set to YES. # This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = http://www.mathjax.org/mathjax MATHJAX_RELPATH = http://www.mathjax.org/mathjax
@ -1697,21 +1727,34 @@ LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. # invoked.
# #
# Note that when enabling USE_PDFLATEX this option is only used for generating # Note that when not enabling USE_PDFLATEX the default is latex when enabling
# bitmaps for formulas in the HTML output, but not in the Makefile that is # USE_PDFLATEX the default is pdflatex and when in the later case latex is
# written to the output directory. # chosen this is overwritten by pdflatex. For specific output languages the
# The default file is: latex. # default can have been set differently, this depends on the implementation of
# the output language.
# This tag requires that the tag GENERATE_LATEX is set to YES. # This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_CMD_NAME = latex.exe LATEX_CMD_NAME = latex.exe
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
# index for LaTeX. # index for LaTeX.
# Note: This tag is used in the Makefile / make.bat.
# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
# (.tex).
# The default file is: makeindex. # The default file is: makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES. # This tag requires that the tag GENERATE_LATEX is set to YES.
MAKEINDEX_CMD_NAME = makeindex.exe MAKEINDEX_CMD_NAME = makeindex.exe
# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
# generate index for LaTeX.
# Note: This tag is used in the generated output file (.tex).
# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
# The default value is: \makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_MAKEINDEX_CMD = \makeindex
# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
# documents. This may be useful for small projects and may help to save some # documents. This may be useful for small projects and may help to save some
# trees in general. # trees in general.
@ -1848,6 +1891,14 @@ LATEX_BIB_STYLE = plain
LATEX_TIMESTAMP = NO LATEX_TIMESTAMP = NO
# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
# path from which the emoji images will be read. If a relative path is entered,
# it will be relative to the LATEX_OUTPUT directory. If left blank the
# LATEX_OUTPUT directory will be used.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EMOJI_DIRECTORY =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the RTF output # Configuration options related to the RTF output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
@ -1887,9 +1938,9 @@ COMPACT_RTF = NO
RTF_HYPERLINKS = NO RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's config # Load stylesheet definitions from file. Syntax is similar to doxygen's
# file, i.e. a series of assignments. You only have to provide replacements, # configuration file, i.e. a series of assignments. You only have to provide
# missing definitions are set to their default value. # replacements, missing definitions are set to their default value.
# #
# See also section "Doxygen usage" for information on how to generate the # See also section "Doxygen usage" for information on how to generate the
# default style sheet that doxygen normally uses. # default style sheet that doxygen normally uses.
@ -1898,8 +1949,8 @@ RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE = RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is # Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated # similar to doxygen's configuration file. A template extensions file can be
# using doxygen -e rtf extensionFile. # generated using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES. # This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_FILE = RTF_EXTENSIONS_FILE =
@ -1985,6 +2036,13 @@ XML_OUTPUT = xml
XML_PROGRAMLISTING = YES XML_PROGRAMLISTING = YES
# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
# namespace members in file scope as well, matching the HTML output.
# The default value is: NO.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_NS_MEMB_FILE_SCOPE = NO
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output # Configuration options related to the DOCBOOK output
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------

View File

@ -0,0 +1,11 @@
/*!
\defgroup jkqtfastplotter JKQTFastPlotter: Speed-Optimized Plotter class
This is an indepent (and fully self-contained) plotter class, which is optimized for drawing speed, rather than
output quality. It lacks several of the advanced features of JKQtPlotter, but can be used in cases, where fast
update of plots or real-time plotting is required.
An example for the usage of this class can be found here: \link ../../examples/jkqtfastplotter_test \endlink
*/

17
doc/dox/jkqtmathtext.dox Normal file
View File

@ -0,0 +1,17 @@
/*!
\defgroup jkqtmathtext JKQtMathText LaTeX-Renderer for Qt
This group contains JKQtMathText, a self-contained LaTeX-renderer for Qt. It is used to renderer
labels in JKQtPlotter, but can be used independently. The class does not depend on any library,
except Qt.
Examples for the usage of this class can be found here:
- \ref JKQTmathTextSimpleExample with the main source: \link ../../examples/jkqtmathtext_simpletest/jkqtmathtext_simpletest.cpp \endlink
- \link ../../examples/jkqtmathtext_test/jkqtfastplotter_test_testmain.cpp \endlink
.
*/

125
doc/dox/jkqtplotter.dox Normal file
View File

@ -0,0 +1,125 @@
/*!
\defgroup jkqtptools Tool Functions and Definitions for JKQtPlotter
This group contains a set of tools that I've written over the years to enhance the
C++ standard library.
\defgroup tools_math Tools for Mathematical Computations & Equation Parsing
\ingroup jkqtptools
\defgroup jkqtptools_string String Tool Functions
\ingroup jkqtptools
\defgroup jkqtptools_qt Additional Tools for Qt
\ingroup jkqtptools
\defgroup jkqtptools_qtwidgets Additional Widgets for Qt
\ingroup jkqtptools
\defgroup jkqtptools_drawing Drawing Tools
\ingroup jkqtptools
\defgroup jkqtptools_debugging Debugging Tools
\ingroup jkqtptools
\defgroup jkqtplotter JKQtPlotter: Qt based Scientific Plotter Class
A Qt based plotter for 2D scientific graphs.
\defgroup jkqtpdatastorage Data Storage Classes/System
\ingroup jkqtplotter
The classes in this group implement a data storage system for use with the main plotter class.
Basically a table of data is generated as a set of logical columns that may be bound to different
data sources (internal or external memory arrays. Later on it is simply possible to plot graphs
using the column number and the not a link to the actual data array, as the link is stored in these
classes.
\defgroup jkqtpopencvinterface OpenCV Interfaceing Tools
\ingroup jkqtpdatastorage
Classes and functions in this group allow JKQtPlotter to directly work with <a href="https://opencv.org/">OpenCV</a> data structures.
\defgroup jkqtpbaseplotter Plotter Base Class
\ingroup jkqtplotter
This class implements the basis for plotter classes. It contains layout management code,
coordinate system management ... Use JKQPlotter if you need a widget
\defgroup jkqtpbaseplotter_elements Basic Plot Elements (coordinate axes, key, ...)
\ingroup jkqtplotter
This group contains some tool classes that implement basic elements of the plot (coordinate axes, key, ...).
These classes are used by JKQtPlotterBase to output the plot
\defgroup jkqtplotter_elements Plot Elements
\ingroup jkqtplotter
\defgroup jkqtplotter_basegraphs Baseclasses for Graphs
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_basegraphserrors Base Classes for Error Indicators
\ingroup jkqtplotter_basegraphs
\defgroup jkqtplotter_linesymbolgraphs Line/Symbol Graphs
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_Fgraphs Function Graphs
\ingroup jkqtplotter_linesymbolgraphs
\defgroup jkqtplotter_parsedFgraphs Parsed Function Graphs
\ingroup jkqtplotter_linesymbolgraphs
\defgroup jkqtplotter_barssticks Barcharts, Stick-Charts, ...
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_statgraphs Statistical Graphs (e.g. Boxplots ...)
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_geoplots Geometric Elements (Lines, Rectangles, ...)
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_diverse Diverse Other Graphs (Ranges, ...)
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_imagelots Matrix/Image Plotting
\ingroup jkqtplotter_elements
\defgroup jkqtplotter_imagelots_elements Image Plotting Graphs
\ingroup jkqtplotter_imagelots
\defgroup jkqtplotter_imagelots_tools Image Drawing Tools
\ingroup jkqtplotter_imagelots
\defgroup jkqtplotter_imagelots_contour Contour Graphs
\ingroup jkqtplotter_imagelots
\defgroup jkqtplotter_overlays Overlay Elements
\ingroup jkqtplotter_elements
\defgroup jkqtpgraphsmodel Data Models to Access Graphs in a JKQtBasePlotter/JKQtPlotter
\ingroup jkqtplotter
\defgroup jkqtpcomboboxes Comboboxes for Properties of JKQtBasePlotter/JKQtPlotter
\ingroup jkqtplotter
\defgroup jkqtplotter_guitools Qt GUI classes to work with JKQtPlotter
\ingroup jkqtplotter
*/

BIN
doc/images/JKQTPContour.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -1,63 +1,59 @@
[Back to JKQTPlotter main page](../README.md) # JKQtPlotter: Examples: Examples & Tutorials
# JKQtPlotter
## Examples & Tutorials
This section assembles some simple examples of usage. This section assembles some simple examples of usage.
You can find more (complex) examples for the classes in this repository in the subfolder "test". You can find more (complex) examples for the classes in this repository in the subfolder "test".
All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily. All test-projects are Qt-projects that use qmake to build. You can load them into QtCreator easily.
### Different Plot Data Styles ## Different Plot Data Styles
| Screenshot | Description | Notes | | Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- | |:-------------:| ------------- | ------------- |
| [![](../screenshots/jkqtplotter_simpletest1_small.png)](./simpletest) | [Very Basic Example (Line Graph)](./simpletest) | `JKQTPxyLineGraph`<br/>C++-style QVector arrays of data | | [![](../screenshots/jkqtplotter_simpletest1_small.png)](./simpletest) | [Very Basic Example (Line Graph)](./simpletest) | `JKQTPxyLineGraph` <br> C++-style QVector arrays of data |
| [![](../screenshots/jkqtplotter_simpletest_speed_small.png)](./simpletest_speed) | [Line Graph with Live Data / Speed Test](./simpletest_speed) | `JKQTPxyLineGraph`<br/>external `std::array<double,N>` data, not owned by datastore<br/>live-data, measure plotting speed<br/>tipps to increas plotting speed | | [![](../screenshots/jkqtplotter_simpletest_speed_small.png)](./simpletest_speed) | [Line Graph with Live Data / Speed Test](./simpletest_speed) | `JKQTPxyLineGraph` <br> external `std::array<double,N>` data, not owned by datastore <br> live-data, measure plotting speed <br> tipps to increas plotting speed |
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_styles_small.png)](./simpletest_symbols_and_styles) | [Line Graph with Different Symbols and Line Styles](./simpletest_symbols_and_styles) | `JKQTPxyLineGraph`<br/>C++ vector of data<br/>setting line styles and symbol styles<br/>automatic graph coloring | | [![](../screenshots/jkqtplotter_simpletest_symbols_and_styles_small.png)](./simpletest_symbols_and_styles) | [Line Graph with Different Symbols and Line Styles](./simpletest_symbols_and_styles) | `JKQTPxyLineGraph` <br> C++ vector of data <br> setting line styles and symbol styles <br> automatic graph coloring |
| [![](../screenshots/jkqtplotter_simpletest_stepplots_small.png)](./simpletest_stepplots) | [Step Line Plots in Different Styles](./simpletest_stepplots) | `JKQTPstepHorizontalGraph` (and `JKQTPxyLineGraph`)<br/>C++ vector of data<br/>different step modes, filled and line-only | | [![](../screenshots/jkqtplotter_simpletest_stepplots_small.png)](./simpletest_stepplots) | [Step Line Plots in Different Styles](./simpletest_stepplots) | `JKQTPstepHorizontalGraph` (and `JKQTPxyLineGraph`) <br> C++ vector of data <br> different step modes, filled and line-only |
| [![](../screenshots/jkqtplotter_simpletest_symbols_and_errors_small.png)](./simpletest_symbols_and_errors) | [Simple Line/Symbol Graph With Errorbars](./simpletest_symbols_and_errors) | `JKQTPxyLineErrorGraph`<br/>C-style arrays of data | | [![](../screenshots/jkqtplotter_simpletest_symbols_and_errors_small.png)](./simpletest_symbols_and_errors) | [Simple Line/Symbol Graph With Errorbars](./simpletest_symbols_and_errors) | `JKQTPxyLineErrorGraph` <br> C-style arrays of data |
| [![](../screenshots/jkqtplotter_simpletest_errorbarstyles_small.png)](./simpletest_errorbarstyles) | [Different Types of Error Indicators](./simpletest_errorbarstyles) | `JKQTPxyLineErrorGraph`<br/>different styles of error indicators for x- and y-errors<br>C++-style QVector for data<br/>styling error indicators<br/>moving key and formatting plotter grid | | [![](../screenshots/jkqtplotter_simpletest_errorbarstyles_small.png)](./simpletest_errorbarstyles) | [Different Types of Error Indicators](./simpletest_errorbarstyles) | `JKQTPxyLineErrorGraph` <br> different styles of error indicators for x- and y-errors <br> C++-style QVector for data <br> styling error indicators <br> moving key and formatting plotter grid |
| [![](../screenshots/jkqtplotter_simpletest_barchart_small.png)](./simpletest_barchart) | [Simple Bar Charts](./simpletest_barchart) | `JKQTPbarVerticalGraph`<br/>C-style arrays of data | | [![](../screenshots/jkqtplotter_simpletest_barchart_small.png)](./simpletest_barchart) | [Simple Bar Charts](./simpletest_barchart) | `JKQTPbarVerticalGraph` <br> C-style arrays of data |
| [![](../screenshots/JKQTPbarVerticalGraphStacked_small.png)<br>![](../screenshots/JKQTPbarHorizontalGraphStacked_small.png)](./simpletest_stackedbars) | [Stacked Bar Charts](./simpletest_stackedbars) | `JKQTPbarVerticalStackableGraph`, `JKQTPbarHorizontalStackableGraph`<br/>C++-style vectors of data | | [![](../screenshots/JKQTPbarVerticalGraphStacked_small.png) <br> ![](../screenshots/JKQTPbarHorizontalGraphStacked_small.png)](./simpletest_stackedbars) | [Stacked Bar Charts](./simpletest_stackedbars) | `JKQTPbarVerticalStackableGraph`, `JKQTPbarHorizontalStackableGraph` <br> C++-style vectors of data |
| [![](../screenshots/jkqtplotter_simpletest_filledgraphs_small.png)](./simpletest_filledgraphs) | [Filled Curve Plots](./simpletest_filledgraphs) | `JKQTPbarVerticalGraph`<br/>setting/altering data in `JKQTPdatstore` directly<br/> transparent plots<br/>calculating histograms | | [![](../screenshots/jkqtplotter_simpletest_filledgraphs_small.png)](./simpletest_filledgraphs) | [Filled Curve Plots](./simpletest_filledgraphs) | `JKQTPbarVerticalGraph` <br> setting/altering data in `JKQTPdatstore` directly <br> transparent plots <br> calculating histograms |
| [![](../screenshots/jkqtplotter_simpletest_impulsesplot_small.png)](./simpletest_impulsesplot) | [Impulse Plots](./simpletest_impulsesplot) | `JKQTPimpulsesVerticalGraph` and `JKQTPimpulsesHorizontalGraph`<br/>C++-style QVector as plot data | | [![](../screenshots/jkqtplotter_simpletest_impulsesplot_small.png)](./simpletest_impulsesplot) | [Impulse Plots](./simpletest_impulsesplot) | `JKQTPimpulsesVerticalGraph` and `JKQTPimpulsesHorizontalGraph` <br> C++-style QVector as plot data |
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_small.png)](./simpletest_paramscatterplot) | [Scatter Graph with Parametrized Symbols/Colors](./simpletest_paramscatterplot) | `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>modify scatter/points/line-graph properties by data | | [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_small.png)](./simpletest_paramscatterplot) | [Scatter Graph with Parametrized Symbols/Colors](./simpletest_paramscatterplot) | `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> modify scatter/points/line-graph properties by data |
| [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_image_small.png)](./simpletest_paramscatterplot_image) | [Draw an Artistic Image with a Parametrized Scatter Graph](./simpletest_paramscatterplot_image) | `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>rectangular arrangement of scatters<br/>generative computer graphics | | [![](../screenshots/jkqtplotter_simpletest_paramscatterplot_image_small.png)](./simpletest_paramscatterplot_image) | [Draw an Artistic Image with a Parametrized Scatter Graph](./simpletest_paramscatterplot_image) | `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> rectangular arrangement of scatters <br> generative computer graphics |
| [![](../screenshots/jkqtplotter_simpletest_parametriccurve_small.png)](./simpletest_parametriccurve) | [Plotting Parametric Curves](./simpletest_parametriccurve) | `JKQTPxyLineGraph` and `JKQTPxyParametrizedScatterGraph`<br/>C++-style QVector as plot data<br/>parametric curve plotting | | [![](../screenshots/jkqtplotter_simpletest_parametriccurve_small.png)](./simpletest_parametriccurve) | [Plotting Parametric Curves](./simpletest_parametriccurve) | `JKQTPxyLineGraph` and `JKQTPxyParametrizedScatterGraph` <br> C++-style QVector as plot data <br> parametric curve plotting |
| [![](../screenshots/jkqtplotter_simpletest_functionplot_small.png)](./simpletest_functionplot) | [Plotting Mathematical Functions as Line Graphs](./simpletest_functionplot) | `JKQTPxFunctionLineGraph` <br/>diretly plotting C/C++-functions | | [![](../screenshots/jkqtplotter_simpletest_functionplot_small.png)](./simpletest_functionplot) | [Plotting Mathematical Functions as Line Graphs](./simpletest_functionplot) | `JKQTPxFunctionLineGraph` <br> diretly plotting C/C++-functions |
| [![](../screenshots/jkqtplotter_simpletest_parsedfunctionplot_small.png)](./simpletest_parsedfunctionplot) | [Plotting Parsed Mathematical Functions as Line Graphs](./simpletest_parsedfunctionplot) | `JKQTPxParsedFunctionLineGraph` <br/>plotting functions with the internal math equation parser/evaluator | | [![](../screenshots/jkqtplotter_simpletest_parsedfunctionplot_small.png)](./simpletest_parsedfunctionplot) | [Plotting Parsed Mathematical Functions as Line Graphs](./simpletest_parsedfunctionplot) | `JKQTPxParsedFunctionLineGraph` <br> plotting functions with the internal math equation parser/evaluator |
| [![](../screenshots/jkqtplotter_simpletest_geometric_small.png)](./simpletest_geometric) | [Plotting Geometric Objects](./simpletest_geometric) | | | [![](../screenshots/jkqtplotter_simpletest_geometric_small.png)](./simpletest_geometric) | [Plotting Geometric Objects](./simpletest_geometric) | |
### Styling the Plot, Keys, Axes, ... ## Styling the Plot, Keys, Axes, ...
| Screenshot | Description | Notes | | Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- | |:-------------:| ------------- | ------------- |
| [![](../screenshots/jkqtplotter_simpletest_logaxes_small.png)](./simpletest_logaxes) | [logarithmic axes](./simpletest_logaxes) | `JKQTPxyLineGraph` and `JKQTPgeoText`<br/>C++ vector of data<br/>logarithmic axes and styling<br/>plot line styles<br/>internal LaTeX parser<br/>add commenting text to a graph | | [![](../screenshots/jkqtplotter_simpletest_logaxes_small.png)](./simpletest_logaxes) | [logarithmic axes](./simpletest_logaxes) | `JKQTPxyLineGraph` and `JKQTPgeoText` <br> C++ vector of data <br> logarithmic axes and styling <br> plot line styles <br> internal LaTeX parser <br> add commenting text to a graph |
| [![](../screenshots/jkqtplotter_simpletest_dateaxes_small.png)<br>![](../screenshots/jkqtplotter_simpletest_dateaxes_dates_small.png)<br>![](../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis_small.png)](./simpletest_dateaxes) | [date/time axes](./simpletest_dateaxes) | `JKQTPxyLineGraph` and `JKQTPfilledVerticalRangeGraph`<br/>C++ vector of data<br/>date/time axes<br/>plot min/max range graph<br/>internal LaTeX parser<br/>data from CSV files | | [![](../screenshots/jkqtplotter_simpletest_dateaxes_small.png) <br> ![](../screenshots/jkqtplotter_simpletest_dateaxes_dates_small.png) <br> ![](../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis_small.png)](./simpletest_dateaxes) | [date/time axes](./simpletest_dateaxes) | `JKQTPxyLineGraph` and `JKQTPfilledVerticalRangeGraph` <br> C++ vector of data <br> date/time axes <br> plot min/max range graph <br> internal LaTeX parser <br> data from CSV files |
### Image data Plots ## Image data Plots
| Screenshot | Description | Notes | | Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- | |:-------------:| ------------- | ------------- |
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_qt_small.png)](./simpletest_rgbimageplot_qt) | [`QImage` as a Graph](./simpletest_rgbimageplot_qt) | `JKQTPImage`<br/>`QImage` drawn onto a plot with arbitrary scaling) | | [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_qt_small.png)](./simpletest_rgbimageplot_qt) | [`QImage` as a Graph](./simpletest_rgbimageplot_qt) | `JKQTPImage` <br> `QImage` drawn onto a plot with arbitrary scaling) |
| [![](../screenshots/jkqtplotter_simpletest_imageplot_small.png)](./simpletest_imageplot) | [Basic 1-channel Raw C Image Plot](./simpletest_imageplot) | `JKQTPColumnMathImage`<br/>image data copied from C-style row-major array into a single column of the internal datastore<br>Describes several options of the image plotting classes (different ways of color coding, what to do with data above/below the limits etc.) | | [![](../screenshots/jkqtplotter_simpletest_imageplot_small.png)](./simpletest_imageplot) | [Basic 1-channel Raw C Image Plot](./simpletest_imageplot) | `JKQTPColumnMathImage` <br> image data copied from C-style row-major array into a single column of the internal datastore <br> Describes several options of the image plotting classes (different ways of color coding, what to do with data above/below the limits etc.) |
| [![](../screenshots/jkqtplotter_simpletest_imageplot_modifier_small.png)](./simpletest_imageplot_modifier) | [Modifier-Feature of Image Plots](./simpletest_imageplot_modifier) | `JKQTPColumnMathImage`<br/>image data copied from C-style row-major array into a single column of the internal datastore<br>Image is modified by a second image to display two data dimensions at the same time | | [![](../screenshots/jkqtplotter_simpletest_imageplot_modifier_small.png)](./simpletest_imageplot_modifier) | [Modifier-Feature of Image Plots](./simpletest_imageplot_modifier) | `JKQTPColumnMathImage` <br> image data copied from C-style row-major array into a single column of the internal datastore <br> Image is modified by a second image to display two data dimensions at the same time |
| [![](../screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png)](./simpletest_imageplot_nodatastore) | [Basic 1-channel Raw C Image Plot<br>without the internal datastore](./simpletest_imageplot_nodatastore) | `JKQTPMathImage`<br/>image data in a C-style row-major array, not using internal datastore | | [![](../screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png)](./simpletest_imageplot_nodatastore) | [Basic 1-channel Raw C Image Plot <br> without the internal datastore](./simpletest_imageplot_nodatastore) | `JKQTPMathImage` <br> image data in a C-style row-major array, not using internal datastore |
| [![](../screenshots/jkqtplotter_simpletest_imageplot_opencv_small.png)](./simpletest_imageplot_opencv) | [1-channel OpenCV cv::Mat Image Plot](./simpletest_imageplot_opencv) | `JKQTPColumnMathImage`<br/>image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore | | [![](../screenshots/jkqtplotter_simpletest_imageplot_opencv_small.png)](./simpletest_imageplot_opencv) | [1-channel OpenCV cv::Mat Image Plot](./simpletest_imageplot_opencv) | `JKQTPColumnMathImage` <br> image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore |
| [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_opencv_small.png)](./simpletest_rgbimageplot_opencv) | [RGB OpenCV cv::Mat Image Plot](./simpletest_rgbimageplot_opencv) | `JKQTPColumnRGBMathImage`<br/>image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore | | [![](../screenshots/jkqtplotter_simpletest_rgbimageplot_opencv_small.png)](./simpletest_rgbimageplot_opencv) | [RGB OpenCV cv::Mat Image Plot](./simpletest_rgbimageplot_opencv) | `JKQTPColumnRGBMathImage` <br> image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore |
### GUI Tools and Plot Layout ## GUI Tools and Plot Layout
| Screenshot | Description | Notes | | Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- | |:-------------:| ------------- | ------------- |
| [![](../screenshots/test_multiplot_small.png)](./test_multiplot) | [Layouting Several Plots](./test_multiplot) | Combining plots in Qt Layouts<br/>linking plot axes<br>copy data from a `std::map` int the datastore<br>print plots/print preview | | [![](../screenshots/test_multiplot_small.png)](./test_multiplot) | [Layouting Several Plots](./test_multiplot) | Combining plots in Qt Layouts <br> linking plot axes <br> copy data from a `std::map` int the datastore <br> print plots/print preview |
| [![](../screenshots/jkqtplotter_simpletest_ui_small.png)](./simpletest_ui) | [Placing JKQtPlotter into a Qt User-Interface-XML-file (`*.ui`)](./simpletest_ui) | using Qt Form Designer<br>parsed function plots (`JKQTPxParsedFunctionLineGraph`) | | [![](../screenshots/jkqtplotter_simpletest_ui_small.png)](./simpletest_ui) | [Placing JKQtPlotter into a Qt User-Interface-XML-file (`*.ui`)](./simpletest_ui) | using Qt Form Designer <br> parsed function plots (`JKQTPxParsedFunctionLineGraph`) |
### Tools and Special Features ## Tools and Special Features
| Screenshot | Description | Notes | | Screenshot | Description | Notes |
|:-------------:| ------------- | ------------- | |:-------------:| ------------- | ------------- |
| [![](../screenshots/jkqtmathtext_simpletest_small.png)](./jkqtmathtext_simpletest) | [JKQTMathText: LaTeX Renderer](./jkqtmathtext_simpletest) | | | [![](../screenshots/jkqtmathtext_simpletest_small.png)](./jkqtmathtext_simpletest) | [JKQTMathText: LaTeX Renderer](./jkqtmathtext_simpletest) | |
[Back to JKQTPlotter main page](../README.md)

View File

@ -1,5 +1,5 @@
#include <QApplication> #include <QApplication>
#include "testmain.h" #include "jkqtfastplotter_test_testmain.h"
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
QApplication a(argc, argv); QApplication a(argc, argv);

View File

@ -6,9 +6,9 @@ TARGET = JKQTFastPlotter_test
TEMPLATE = app TEMPLATE = app
SOURCES += jkqtfastplotter_test.cpp \ SOURCES += jkqtfastplotter_test.cpp \
testmain.cpp jkqtfastplotter_test_testmain.cpp
HEADERS += testmain.h HEADERS += jkqtfastplotter_test_testmain.h
RCC_DIR = .rccs RCC_DIR = .rccs

View File

@ -1,4 +1,8 @@
#include "testmain.h" /** \example jkqtfastplotter_test_testmain.cpp
* Example of how to use JKQtFastPlotter
*/
#include "jkqtfastplotter_test_testmain.h"
#include <QCheckBox> #include <QCheckBox>
#include <QtGui> #include <QtGui>

View File

@ -1,8 +1,6 @@
# JKQTmathText: A simple usage example {#JKQTmathTextSimpleExample} # JKQTmathText: A simple usage example {#JKQTmathTextSimpleExample}
JKQTmathText is a hand-written LaTeX-renderer for Qt (implemented in native C++, using Qt). It supports a large set of standard LaTeX markup and can render it to a QPainter. JKQTmathText is a hand-written LaTeX-renderer for Qt (implemented in native C++, using Qt). It supports a large set of standard LaTeX markup and can render it to a QPainter.
[Back to JKQTPlotter main page](../../README.md)
This project (see `./examples/jkqtmathtext_simpletest/`) simply creates a QLabel (as a new window) that displays a rendered LaTeX equation (here the time-dependent Schrödinger equation). This project (see `./examples/jkqtmathtext_simpletest/`) simply creates a QLabel (as a new window) that displays a rendered LaTeX equation (here the time-dependent Schrödinger equation).
The QMake project looks like this (see [`jkqtmathtext_simpletest.pro`](../jkqtmathtext_simpletest/jkqtmathtext_simpletest.pro): The QMake project looks like this (see [`jkqtmathtext_simpletest.pro`](../jkqtmathtext_simpletest/jkqtmathtext_simpletest.pro):
```qmake ```qmake
@ -67,4 +65,3 @@ The result looks like this:
![jkqtmathtext_simpletest](../../screenshots/jkqtmathtext_simpletest.png) ![jkqtmathtext_simpletest](../../screenshots/jkqtmathtext_simpletest.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtmathtext_simpletest.cpp
* A very basic example for the usage of JKQTmathText
*
* \ref JKQTmathTextSimpleExample
*/
#include <QApplication> #include <QApplication>
#include <QLabel> #include <QLabel>
#include <QPixmap> #include <QPixmap>

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Very simple line-graph {#JKQTPlotterSimpleTest}
# JKQtPlotter
## Very simple line-graph
This project (see `./examples/simpletest/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects. This project (see `./examples/simpletest/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
The QMake project looks like this (see [`jkqtplotter_simpletest.pro`](../simpletest/jkqtplotter_simpletest.pro): The QMake project looks like this (see [`jkqtplotter_simpletest.pro`](../simpletest/jkqtplotter_simpletest.pro):
```qmake ```qmake
@ -102,4 +98,3 @@ The result looks like this:
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest.cpp
* A very basic example for the usage of JKQtPlotter
*
* \ref JKQTPlotterSimpleTest
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple barchart {#JKQtPlotterBarcharts}
# JKQtPlotter
## Simple barchart
This project (see [`simpletest_barchart`](../simpletest_barchart) simply creates a JKQtPlotter widget (as a new window) and adds several barcharts. They are ordered in groups. This project (see [`simpletest_barchart`](../simpletest_barchart) simply creates a JKQtPlotter widget (as a new window) and adds several barcharts. They are ordered in groups.
The soruce code of the main application is (see [`jkqtplotter_simpletest_barchart.cpp`](../simpletest_barchart/jkqtplotter_simpletest_barchart.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_barchart.cpp`](../simpletest_barchart/jkqtplotter_simpletest_barchart.cpp):
@ -98,4 +94,3 @@ The result looks like this:
![jkqtplotter_simpletest_barchart](../../screenshots/jkqtplotter_simpletest_barchart.png) ![jkqtplotter_simpletest_barchart](../../screenshots/jkqtplotter_simpletest_barchart.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_barchart.cpp
* Shows how to draw Barcharts with JKQtPlotter
*
* \ref JKQtPlotterBarcharts
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,10 +1,6 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Date/Time Axes {#JKQtPlotterDateTimeAxes}
# JKQtPlotter ## Date Axis
## Date/Time Axes
### Date Axis
This project (see `./examples/simpletest_dateaxes/`) simply creates a JKQtPlotter widget (as a new window) with the X-axis showing time or date(-time) values, formated as such. This project (see `./examples/simpletest_dateaxes/`) simply creates a JKQtPlotter widget (as a new window) with the X-axis showing time or date(-time) values, formated as such.
The source code of the main application can be found in [`jkqtplotter_simpletest_dateaxes.cpp`](../simpletest_dateaxes/jkqtplotter_simpletest_dateaxes.cpp). The source code of the main application can be found in [`jkqtplotter_simpletest_dateaxes.cpp`](../simpletest_dateaxes/jkqtplotter_simpletest_dateaxes.cpp).
@ -113,7 +109,7 @@ The result looks like this:
![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes.png) ![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes.png)
### Time Axis ## Time Axis
A second variant (see the example CPP-file) displays data with a time-axis: A second variant (see the example CPP-file) displays data with a time-axis:
![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis.png) ![jkqtplotter_simpletest_symbols_and_styles](../../screenshots/jkqtplotter_simpletest_dateaxes_timeaxis.png)
@ -168,4 +164,3 @@ Axis formating for this example is done like this:
plot.get_yAxis()->set_axisLabel("Temperature [{\\degree}C]"); plot.get_yAxis()->set_axisLabel("Temperature [{\\degree}C]");
``` ```
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_dateaxes.cpp
* Shows how to use date/time axes with JKQtPlotter
*
* \ref JKQtPlotterDateTimeAxes
*/
#include <QApplication> #include <QApplication>
#include <QDateTime> #include <QDateTime>
#include <QTime> #include <QTime>

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Different Types of Errorindicators {#JKQtPlotterErrorBarStyles}
# JKQtPlotter
## Different Types of Errorindicators
This project (see `./examples/simpletest_errorbarstyles/`) simply creates a JKQtPlotter widget (as a new window) and adds several curves show-casing different styles of error indicators. Data is initialized from two QVector<double> objects. This project (see `./examples/simpletest_errorbarstyles/`) simply creates a JKQtPlotter widget (as a new window) and adds several curves show-casing different styles of error indicators. Data is initialized from two QVector<double> objects.
The source code of the main application can be found in [`jkqtplotter_simpletest_errorbarstyles.cpp`](../simpletest_errorbarstyles/jkqtplotter_simpletest_errorbarstyles.cpp). The source code of the main application can be found in [`jkqtplotter_simpletest_errorbarstyles.cpp`](../simpletest_errorbarstyles/jkqtplotter_simpletest_errorbarstyles.cpp).
@ -117,4 +113,3 @@ Error bars are implemented in the mixin-classes `JKQTPxyGraphErrors`, `JKQTPxGra
. .
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_errorbarstyles.cpp
* Shows how to use different error indicator styles with JKQtPlotter
*
* \ref JKQtPlotterErrorBarStyles
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Filled Curve Plots {#JKQtPlotterFilledGraphs}
# JKQtPlotter
## Filled Curve Plots
This project (see `./examples/simpletest_filledgraphs/`) simply creates a JKQtPlotter widget (as a new window) and adds several filled curve graphs (Histograms). Data is initialized from QVector<int> objects. This project (see `./examples/simpletest_filledgraphs/`) simply creates a JKQtPlotter widget (as a new window) and adds several filled curve graphs (Histograms). Data is initialized from QVector<int> objects.
The source code of the main application can be found in [`jkqtplotter_simpletest_filledgraphs.cpp`](../simpletest_filledgraphs/jkqtplotter_simpletest_filledgraphs.cpp). The source code of the main application can be found in [`jkqtplotter_simpletest_filledgraphs.cpp`](../simpletest_filledgraphs/jkqtplotter_simpletest_filledgraphs.cpp).
@ -85,4 +81,4 @@ If you use `JKQTPfilledCurveYGraph` instead of `JKQTPfilledCurveXGraph`, the cur
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_filledgraphs.cpp
* Shows how to use filled graphs with JKQtPlotter
*
* \ref JKQtPlotterFilledGraphs
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphsfilledcurve.h" #include "jkqtplotter/jkqtpgraphsfilledcurve.h"

View File

@ -1,12 +1,8 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Plotting Mathematical Functions as Line Graphs {#JKQtPlotterFunctionPlots}
## Basics
# JKQtPlotter
## Plotting Mathematical Functions as Line Graphs
### Basics
This project (see `./examples/simpletest_functionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions may be defined as static C functions, C++ functors or c++ inline functions. See [test/simpletest_parsedfunctionplot](../simpletest_parsedfunctionplot) for an example of how to use an internal equation parser provided with JKQtPlotter instead of directly defining functions. This project (see `./examples/simpletest_functionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions may be defined as static C functions, C++ functors or c++ inline functions. See [test/simpletest_parsedfunctionplot](../simpletest_parsedfunctionplot) for an example of how to use an internal equation parser provided with JKQtPlotter instead of directly defining functions.
### Simple C++ inline function ## Simple C++ inline function
The first example shows how to plot a C++ inline function: The first example shows how to plot a C++ inline function:
```c++ ```c++
JKQTPxFunctionLineGraph* func1=new JKQTPxFunctionLineGraph(plot); JKQTPxFunctionLineGraph* func1=new JKQTPxFunctionLineGraph(plot);
@ -15,7 +11,7 @@ The first example shows how to plot a C++ inline function:
plot->addGraph(func1); plot->addGraph(func1);
``` ```
### Simple C++ inline function with parameters ## Simple C++ inline function with parameters
In any such plot function, you can also use parameters, provided via the second parameter. Usually these are "internal parameters", defined by `func2->set_paramsV(p0, p1, ...)`: In any such plot function, you can also use parameters, provided via the second parameter. Usually these are "internal parameters", defined by `func2->set_paramsV(p0, p1, ...)`:
```c++ ```c++
JKQTPxFunctionLineGraph* func2=new JKQTPxFunctionLineGraph(plot); JKQTPxFunctionLineGraph* func2=new JKQTPxFunctionLineGraph(plot);
@ -45,7 +41,7 @@ In any such plot function, you can also use parameters, provided via the second
plot->addGraph(func3); plot->addGraph(func3);
``` ```
### C++ functors as plot functions ## C++ functors as plot functions
You can also use C++ functors (or function objects): You can also use C++ functors (or function objects):
```c++ ```c++
struct SincSqr { struct SincSqr {
@ -66,7 +62,7 @@ You can also use C++ functors (or function objects):
plot->addGraph(func4); plot->addGraph(func4);
``` ```
### Static C functions ## Static C functions
You can also plot simple static C functions: You can also plot simple static C functions:
```c++ ```c++
double sinc(double x) { double sinc(double x) {
@ -81,7 +77,7 @@ You can also plot simple static C functions:
plot->addGraph(func5); plot->addGraph(func5);
``` ```
### Predefined "special" functions ## Predefined "special" functions
Finally `JKQTPxFunctionLineGraph` provides a small set of special functions (polynomial `p0+p1*x+p2*x^2+...`, exponential `p0+p1*exp(x/p2)`, power-law `p0+p1*x^p2`, ...), which are parametrized from the internal or external parameters: Finally `JKQTPxFunctionLineGraph` provides a small set of special functions (polynomial `p0+p1*x+p2*x^2+...`, exponential `p0+p1*exp(x/p2)`, power-law `p0+p1*x^p2`, ...), which are parametrized from the internal or external parameters:
```c++ ```c++
JKQTPxFunctionLineGraph* func6=new JKQTPxFunctionLineGraph(plot); JKQTPxFunctionLineGraph* func6=new JKQTPxFunctionLineGraph(plot);
@ -106,12 +102,12 @@ JKQTPxFunctionLineGraph* func7=new JKQTPxFunctionLineGraph(plot);
plot->addGraph(func7); plot->addGraph(func7);
``` ```
### Screenshot ## Screenshot
This code snippets above result in a plot like this: This code snippets above result in a plot like this:
![jkqtplotter_simpletest_functionplot](../../screenshots/jkqtplotter_simpletest_functionplot.png) ![jkqtplotter_simpletest_functionplot](../../screenshots/jkqtplotter_simpletest_functionplot.png)
### Notes ## Notes
Note that all the different variants to provide parameters can be used with all types of functions! Note that all the different variants to provide parameters can be used with all types of functions!
Also see the example [Plotting Parsed Mathematical Functions as Line Graphs](../simpletest_parsedfunctionplot) for details on how the actual plotting algorithm works. That example also shows how to define a function as a string, which is then parsed and evaluated by an expression parser library embedded in JKQtPlotter. Also see the example [Plotting Parsed Mathematical Functions as Line Graphs](../simpletest_parsedfunctionplot) for details on how the actual plotting algorithm works. That example also shows how to define a function as a string, which is then parsed and evaluated by an expression parser library embedded in JKQtPlotter.
@ -121,4 +117,3 @@ All examples above use the graph class `JKQTPxFunctionLineGraph`, which plots a
![jkqtplotter_simpletest_functionplot_fy](../../screenshots/jkqtplotter_simpletest_functionplot_fy.png) ![jkqtplotter_simpletest_functionplot_fy](../../screenshots/jkqtplotter_simpletest_functionplot_fy.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_functionplot.cpp
* Shows how to plot Mathematical Functions as Line Graphs with JKQtPlotter (as evaluated C/C++ functions)
*
* \ref JKQtPlotterFunctionPlots
*/
#include <QApplication> #include <QApplication>
#include <QVector> #include <QVector>
#include <QMap> #include <QMap>

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Plotting Geometric Objects {#JKQtPlotterGeometricGraphs}
# JKQtPlotter
## Plotting Geometric Objects
This project (see `./test/simpletest_geometric/`) shows the capabilities of JKQtPlotter to also draw geometric elements, like circles, ellipses, rectangles etc. This project (see `./test/simpletest_geometric/`) shows the capabilities of JKQtPlotter to also draw geometric elements, like circles, ellipses, rectangles etc.
The source code of the main application can be found in [`jkqtplotter_simpletest_geometric.cpp`](../simpletest_geometric/jkqtplotter_simpletest_geometric.cpp). First a plot is generated and the axis aspect ration is set to 1, so an accurate plot is generated. Then several geometric graphs are added to the plot. Here are some examples, you can find more more examples in the source code of the example: The source code of the main application can be found in [`jkqtplotter_simpletest_geometric.cpp`](../simpletest_geometric/jkqtplotter_simpletest_geometric.cpp). First a plot is generated and the axis aspect ration is set to 1, so an accurate plot is generated. Then several geometric graphs are added to the plot. Here are some examples, you can find more more examples in the source code of the example:
@ -75,4 +71,3 @@ The result of the example combines all these elements and looks like this:
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_geometric.cpp
* Shows how to plot several geometric forms with JKQtPlotter
*
* \ref JKQtPlotterGeometricGraphs
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphsgeometric.h" #include "jkqtplotter/jkqtpgraphsgeometric.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple math image plot {#JKQtPlotterImagePlot}
# JKQtPlotter
## Simple math image plot
This project (see `./examples/simpletest_imageplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore). This very simple interface can also be used to interface with many common image processing libraries, like CImg or OpenCV. This project (see `./examples/simpletest_imageplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore). This very simple interface can also be used to interface with many common image processing libraries, like CImg or OpenCV.
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot.cpp`](../simpletest_imageplot/jkqtplotter_simpletest_imageplot.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot.cpp`](../simpletest_imageplot/jkqtplotter_simpletest_imageplot.cpp):
@ -149,4 +145,4 @@ There are several ways to modify the plot:
. .
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_imageplot.cpp
* Shows how to plot colored math images/matrices with JKQtPlotter
*
* \ref JKQtPlotterImagePlot
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple math image plot {#JKQtPlotterImagePlotModifier}
# JKQtPlotter
## Simple math image plot
This project (see `./examples/simpletest_imageplot_modifier/`) creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here `sin(r)`). Then a second image (linearly scaling from 1 in the center to 0 at the borders) is used to modify the first image. The modification can alter several properties of the original image, like its saturation, its transparency (alpha) ... This project (see `./examples/simpletest_imageplot_modifier/`) creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here `sin(r)`). Then a second image (linearly scaling from 1 in the center to 0 at the borders) is used to modify the first image. The modification can alter several properties of the original image, like its saturation, its transparency (alpha) ...
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_modifier.cpp`](../simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_modifier.cpp`](../simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp):
@ -122,4 +118,3 @@ Combined the two form this plot:<br>
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plotted. You can combine all options there with the modifier feature described here. See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plotted. You can combine all options there with the modifier feature described here.
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_imageplot_modifier.cpp
* Shows how to plot colored math images/matrices modified by a second data-column/image with JKQtPlotter
*
* \ref JKQtPlotterImagePlotModifier
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple math image plot without use of central JKQTdatastore {#JKQtPlotterImagePlotNoDatastore}
# JKQtPlotter
## Simple math image plot without use of central JKQTdatastore
This project (see `./examples/simpletest_imageplot_nodatastore/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then given to a JKQTPMathImage to visualize it. The data is stored as a pointer directly in the JKQTPMathImage object. There is also a variant JKQTPColumnMathImage of JKQTPMathImage, which references a column in the internal JKQTdatastore and uses the data there for plotting. In both cases data has to be organized as a row-major matrix of values. JKQTPMathImage supports different dataytpes ([u]nit8/16/32/64,float,double see `JKQTPMathImageBase::DataType`) that can be configured e.g. by `set_data()`. This project (see `./examples/simpletest_imageplot_nodatastore/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then given to a JKQTPMathImage to visualize it. The data is stored as a pointer directly in the JKQTPMathImage object. There is also a variant JKQTPColumnMathImage of JKQTPMathImage, which references a column in the internal JKQTdatastore and uses the data there for plotting. In both cases data has to be organized as a row-major matrix of values. JKQTPMathImage supports different dataytpes ([u]nit8/16/32/64,float,double see `JKQTPMathImageBase::DataType`) that can be configured e.g. by `set_data()`.
The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_nodatastore.cpp`](../simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_imageplot_nodatastore.cpp`](../simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp):
@ -112,4 +108,3 @@ The result looks like this:
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet. See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet.
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_imageplot_nodatastore.cpp
* Simple math image plot without use of central JKQTdatastore
*
* \ref JKQtPlotterImagePlotNoDatastore
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple math image plot, showin a 1-channel OpenCV cv::Mat {#JKQtPlotterImagePlotOpenCV}
# JKQtPlotter
## Simple math image plot, showin a 1-channel OpenCV cv::Mat
This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore). This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore).
To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column. To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column.
@ -125,4 +121,3 @@ The result looks like this:
See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet. See [`test/simpletest_imageplot`](../simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet.
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_imageplot_opencv.cpp
* Simple math image plot, showin a 1-channel OpenCV cv::Mat
*
* \ref JKQtPlotterImagePlotOpenCV
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple impulse plots {#JKQtPlotterImpulsePlots}
# JKQtPlotter
## Simple impulse plots
This project (see `./examples/simpletest_impulsesplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a single impulse graph. This project (see `./examples/simpletest_impulsesplot/`) simply creates a JKQtPlotter widget (as a new window) and adds a single impulse graph.
The soruce code of the main application is (see [`jkqtplotter_simpletest_impulsesplot.cpp`](../simpletest_impulsesplot/jkqtplotter_simpletest_impulsesplot.cpp). The soruce code of the main application is (see [`jkqtplotter_simpletest_impulsesplot.cpp`](../simpletest_impulsesplot/jkqtplotter_simpletest_impulsesplot.cpp).
@ -55,4 +51,3 @@ This code snippet results in a plot like this:
![jkqtplotter_simpletest_impulsesplot](../../screenshots/jkqtplotter_simpletest_impulsesplot_horizontal.png) ![jkqtplotter_simpletest_impulsesplot](../../screenshots/jkqtplotter_simpletest_impulsesplot_horizontal.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_impulsesplot.cpp
* Shows how to plot impulse graphs with JKQtPlotter
*
* \ref JKQtPlotterImpulsePlots
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphsimpulses.h" #include "jkqtplotter/jkqtpgraphsimpulses.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Line Graph with Logarithmic y-axis {#JKQtPlotterLogAxes}
# JKQtPlotter
## Line Graph with Logarithmic y-axis
This project (see `./examples/simpletest_logaxes/`) simply creates a JKQtPlotter widget (as a new window) and several line-graphs of different resonance curves. This project (see `./examples/simpletest_logaxes/`) simply creates a JKQtPlotter widget (as a new window) and several line-graphs of different resonance curves.
The source code of the main application can be found in [`jkqtplotter_simpletest_logaxes.cpp`](../simpletest_logaxes/jkqtplotter_simpletest_logaxes.cpp). Mainly several graphs are generated in a loop and then different line styles are applied to the graphs (set by ``graph->set_style()`). The colors are set automtically from an internal default palette. The main loop looks like this: The source code of the main application can be found in [`jkqtplotter_simpletest_logaxes.cpp`](../simpletest_logaxes/jkqtplotter_simpletest_logaxes.cpp). Mainly several graphs are generated in a loop and then different line styles are applied to the graphs (set by ``graph->set_style()`). The colors are set automtically from an internal default palette. The main loop looks like this:
@ -107,4 +103,4 @@ These examples show the results for different typical values for `set_labelType(
![logaxis_set_labelType](../../screenshots/logaxis_set_labelType.png) ![logaxis_set_labelType](../../screenshots/logaxis_set_labelType.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_logaxes.cpp
* Shows how to use logarithmic axes with JKQtPlotter
*
* \ref JKQtPlotterLogAxes
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Plotting Parametric Curves {#JKQtPlotterParametricCurves}
# JKQtPlotter
## Plotting Parametric Curves
This project (see `./examples/simpletest_parametriccurve/`) demonstrates how to draw parametric curves, using [`JKQTPxyLineGraph`}(../simpletest) and [`JKQTPxyParametrizedScatterGraph`](../simpletest_paramscatterplot). This project (see `./examples/simpletest_parametriccurve/`) demonstrates how to draw parametric curves, using [`JKQTPxyLineGraph`}(../simpletest) and [`JKQTPxyParametrizedScatterGraph`](../simpletest_paramscatterplot).
The source code of the main application can be found in [`jkqtplotter_simpletest_parametriccurve.cpp`](../simpletest_parametriccurve/jkqtplotter_simpletest_parametriccurve.cpp). First, the parametric curve (here a [logarithic spiral](https://en.wikipedia.org/wiki/Logarithmic_spiral)) is sampled into two columns containing the x- and y-values along the curve. In addition the radial distance from x=y=0 is added into a third column: The source code of the main application can be found in [`jkqtplotter_simpletest_parametriccurve.cpp`](../simpletest_parametriccurve/jkqtplotter_simpletest_parametriccurve.cpp). First, the parametric curve (here a [logarithic spiral](https://en.wikipedia.org/wiki/Logarithmic_spiral)) is sampled into two columns containing the x- and y-values along the curve. In addition the radial distance from x=y=0 is added into a third column:
@ -61,4 +57,3 @@ The result looks like this:
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_parametriccurve.cpp
* Shows how to plot parametric curves from datapoints with JKQtPlotter
*
* \ref JKQtPlotterParametricCurves
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Scatter Graph with Parametrized Symbols/Colors {#JKQtPlotterParamScatter}
# JKQtPlotter
## Scatter Graph with Parametrized Symbols/Colors
This project (see `./examples/simpletest_paramscatterplot/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph`. This graph class plots symbol&line-graphs, juts like [`JKQTPxyLineGraph`](../simpletest_symbols_and_styles/) and in addition modifies several properties of each plot point by data from an additional column. These properties can be modified: This project (see `./examples/simpletest_paramscatterplot/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph`. This graph class plots symbol&line-graphs, juts like [`JKQTPxyLineGraph`](../simpletest_symbols_and_styles/) and in addition modifies several properties of each plot point by data from an additional column. These properties can be modified:
- symbol size - symbol size
- symbol type - symbol type
@ -114,4 +110,3 @@ The full test appication combines all these variants and the result looks like t
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_paramscatterplot.cpp
* JKQtPlotter: Examples: Scatter Graph with Parametrized Symbols/Colors
*
* \ref JKQtPlotterParamScatter
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Draw an Artistic Image with a Parametrized Scatter Graph {#JKQtPlotterParamScatterImage}
# JKQtPlotter
## Draw an Artistic Image with a Parametrized Scatter Graph
This project (see `./examples/simpletest_paramscatterplot_image/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph` to display parametrized scatters in a rectangular arrangement. See the test program in [`test/simpletest_paramscatterplot`](../simpletest_paramscatterplot) for a basic example of the capabilities of `JKQTPxyParametrizedScatterGraph`. This project (see `./examples/simpletest_paramscatterplot_image/`) demonstrates the capabilities of `JKQTPxyParametrizedScatterGraph` to display parametrized scatters in a rectangular arrangement. See the test program in [`test/simpletest_paramscatterplot`](../simpletest_paramscatterplot) for a basic example of the capabilities of `JKQTPxyParametrizedScatterGraph`.
In this example, we load an image, convert it to greyscale and store it, together with x/y-coordinate-vectors in the datastore. Then a `JKQTPxyParametrizedScatterGraph` is used to draw the image as a pointilistic artwork, where each pixel is represented by a disk. The color of the disk is chosen from a color-palette, based on the grey-value. The size of each disk is chosen from the inverse grey value. In this example, we load an image, convert it to greyscale and store it, together with x/y-coordinate-vectors in the datastore. Then a `JKQTPxyParametrizedScatterGraph` is used to draw the image as a pointilistic artwork, where each pixel is represented by a disk. The color of the disk is chosen from a color-palette, based on the grey-value. The size of each disk is chosen from the inverse grey value.
@ -96,4 +92,3 @@ You can modify the example above in several ways, e.g. by choosing another symbo
![jkqtplotter_simpletest_paramscatterplot_image_varsymbol](../../screenshots/jkqtplotter_simpletest_paramscatterplot_image_varsymbol.png) ![jkqtplotter_simpletest_paramscatterplot_image_varsymbol](../../screenshots/jkqtplotter_simpletest_paramscatterplot_image_varsymbol.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_paramscatterplot_image.cpp
* JKQtPlotter: Examples: Draw an Artistic Image with a Parametrized Scatter Graph
*
* \ref JKQtPlotterParamScatterImage
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,9 +1,5 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Plotting Parsed Mathematical Functions as Line Graphs {#JKQtPlotterParsedFunctionPlot}
## Plot Function f(x)
# JKQtPlotter
## Plotting Parsed Mathematical Functions as Line Graphs
### Plot Function f(x)
This project (see `./examples/simpletest_parsedfunctionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions are defined as strings that will be evaluated with the equation parser, integrated into JKQtPlotter. This project (see `./examples/simpletest_parsedfunctionplot/`) demonstrates how to plot mathematical functions as line graphs. The functions are defined as strings that will be evaluated with the equation parser, integrated into JKQtPlotter.
Note: See the example [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) if you don't want to draw parsed functions, but want to provide a C function, or C++ functor! Note: See the example [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) if you don't want to draw parsed functions, but want to provide a C function, or C++ functor!
@ -48,7 +44,7 @@ This code snippet results in a plot like this:
![jkqtplotter_simpletest_parsedfunctionplot](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot.png) ![jkqtplotter_simpletest_parsedfunctionplot](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot.png)
### Plotting with parameters ## Plotting with parameters
As shown in [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) you can also use externally set parameters in a plot function. These parameters can be double numbers and may be set with either as an internal parameter vector, or may be read from a parameter column (as shown in the [linked example](../simpletest_functionplot)). These parameters are available as variables `p1`, `p2`, ... in the function string. Here is a small example: As shown in [Plotting Mathematical Functions as Line Graphs](../simpletest_functionplot) you can also use externally set parameters in a plot function. These parameters can be double numbers and may be set with either as an internal parameter vector, or may be read from a parameter column (as shown in the [linked example](../simpletest_functionplot)). These parameters are available as variables `p1`, `p2`, ... in the function string. Here is a small example:
```c++ ```c++
@ -58,13 +54,13 @@ As shown in [Plotting Mathematical Functions as Line Graphs](../simpletest_funct
parsedFunc->set_title("user function"); parsedFunc->set_title("user function");
``` ```
### Plot Function f(y) ## Plot Function f(y)
If you use the graph class `JKQTPyParsedFunctionLineGraph` instead of `JKQTPxParsedFunctionLineGraph`, you can plot functions `x=f(y)` (instead of `y=f(x)`). The function from the example above will then ahve to be changed to `sin(y*8)*exp(-y/4)` and the result will look like this: If you use the graph class `JKQTPyParsedFunctionLineGraph` instead of `JKQTPxParsedFunctionLineGraph`, you can plot functions `x=f(y)` (instead of `y=f(x)`). The function from the example above will then ahve to be changed to `sin(y*8)*exp(-y/4)` and the result will look like this:
![jkqtplotter_simpletest_parsedfunctionplot_fy](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_fy.png) ![jkqtplotter_simpletest_parsedfunctionplot_fy](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_fy.png)
### Properties of the Adaptive Plotting Algorithm ## Properties of the Adaptive Plotting Algorithm
The adaptive capabilities of the rendering algorithm can be seen, when plotting e.g. `2/x`, which is drawn smoothely, even around the undefined value at `x=0`: The adaptive capabilities of the rendering algorithm can be seen, when plotting e.g. `2/x`, which is drawn smoothely, even around the undefined value at `x=0`:
![jkqtplotter_simpletest_parsedfunctionplot_2overx.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx.png) ![jkqtplotter_simpletest_parsedfunctionplot_2overx.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx.png)
@ -74,4 +70,3 @@ With an additional checkbox in this example, you can switch drawing the actual s
![jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png) ![jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png](../../screenshots/jkqtplotter_simpletest_parsedfunctionplot_2overx_samplepoints.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_parsedfunctionplot.cpp
* JKQtPlotter: Examples: Plotting Parsed Mathematical Functions as Line Graphs
*
* \ref JKQtPlotterParsedFunctionPlot
*/
#include <QApplication> #include <QApplication>
#include <QLineEdit> #include <QLineEdit>
#include <QCheckBox> #include <QCheckBox>

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple RGB image plot, showing a 3-channel OpenCV cv::Mat {#JKQtPlotterImagePlotRGBOpenCV}
# JKQtPlotter
## Simple RGB image plot, showing a 3-channel OpenCV cv::Mat
This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore). This project (see `./examples/simpletest_imageplot_opencv/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is generated as an OpenCV cv::Mat image and then copied into a single column of the internal datasdtore (JKQTPMathImage could be directly used without the internal datastore).
To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column. To copy the data a special OpenCV Interface function `JKQTPcopyCvMatToColumn()` is used, that copies the data from a cv::Mat directly into a column.
@ -103,4 +99,4 @@ The result looks like this:
The image is upside-down, because computer images use a coordinate system with 0 at the top-left (left-handed coordinate system) and the JKQtPlotter has its 0 at the bottom-left (right-handed coordinate system). The image is upside-down, because computer images use a coordinate system with 0 at the top-left (left-handed coordinate system) and the JKQtPlotter has its 0 at the bottom-left (right-handed coordinate system).
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_rgbimageplot_opencv.cpp
* JKQtPlotter: Examples: Simple RGB image plot, showing a 3-channel OpenCV cv::Mat
*
* \ref JKQtPlotterImagePlotRGBOpenCV
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: `QImage` as a Graph {#JKQtPlotterImagePlotQImageRGB}
# JKQtPlotter
## `QImage` as a Graph
This project (see `./examples/simpletest_rgbimageplot_qt/`) simply creates a JKQtPlotter widget (as a new window) and adds an image plot with an image taken from a [QImage](http://doc.qt.io/qt-5/qimage.html) object. This project (see `./examples/simpletest_rgbimageplot_qt/`) simply creates a JKQtPlotter widget (as a new window) and adds an image plot with an image taken from a [QImage](http://doc.qt.io/qt-5/qimage.html) object.
The source code of the main application is (see [`jkqtplotter_simpletest_rgbimageplot_qt.cpp`](../simpletest_rgbimageplot_qt/jkqtplotter_simpletest_rgbimageplot_qt.cpp). the main parts are: The source code of the main application is (see [`jkqtplotter_simpletest_rgbimageplot_qt.cpp`](../simpletest_rgbimageplot_qt/jkqtplotter_simpletest_rgbimageplot_qt.cpp). the main parts are:
@ -32,4 +28,4 @@ The result looks like this:
![jkqtplotter_simpletest_imageplot](../../screenshots/jkqtplotter_simpletest_rgbimageplot_qt.png) ![jkqtplotter_simpletest_imageplot](../../screenshots/jkqtplotter_simpletest_rgbimageplot_qt.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_rgbimageplot_qt.cpp
* JKQtPlotter: Examples: `QImage` as a Graph
*
* \ref JKQtPlotterImagePlotQImageRGB
*/
#include <QApplication> #include <QApplication>
#include <cmath> #include <cmath>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple line-graph with live-data (speed test) {#JKQtPlotterSpeedTest}
# JKQtPlotter
## Simple line-graph with live-data (speed test)
This project (see `./examples/simpletest_speed/`) simply creates a JKQtPlotter widget (as a new window) and adds two line-graph (a sine and a cosine wave). This project (see `./examples/simpletest_speed/`) simply creates a JKQtPlotter widget (as a new window) and adds two line-graph (a sine and a cosine wave).
Data is stored in two [`std::array<double, NDATA>`](https://en.cppreference.com/w/cpp/container/array) objects (`X`, `Y`, and `Y2`) and the data is added as external pointer to the datastore: Data is stored in two [`std::array<double, NDATA>`](https://en.cppreference.com/w/cpp/container/array) objects (`X`, `Y`, and `Y2`) and the data is added as external pointer to the datastore:
```c++ ```c++
@ -84,4 +80,3 @@ the next table summarizes some results for plotting speed under different condit
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example speedtestplot.cpp
* JKQtPlotter: Examples: Simple line-graph with live-data (speed test)
*
* \ref JKQtPlotterSpeedTest
*/
#include "speedtestplot.h" #include "speedtestplot.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple stacked barchart {#JKQtPlotterStackedBarChart}
# JKQtPlotter
## Simple stacked barchart
This project (see `./examples/simpletest_stackedbars/`) simply creates a JKQtPlotter widget (as a new window) and adds several stacked barcharts. This project (see `./examples/simpletest_stackedbars/`) simply creates a JKQtPlotter widget (as a new window) and adds several stacked barcharts.
The soruce code of the main application is (see [`jkqtplotter_simpletest_stackedbars.cpp`](../simpletest_stackedbars/jkqtplotter_simpletest_stackedbars.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_stackedbars.cpp`](../simpletest_stackedbars/jkqtplotter_simpletest_stackedbars.cpp):
@ -113,4 +109,3 @@ The result looks like this:
If you use `JKQTPbarHorizontalGraphStacked` instead of `JKQTPbarVerticalStackableGraph`, you'll get a result like this: If you use `JKQTPbarHorizontalGraphStacked` instead of `JKQTPbarVerticalStackableGraph`, you'll get a result like this:
![JKQTPbarHorizontalGraphStacked](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/JKQTPbarHorizontalGraphStacked.png) ![JKQTPbarHorizontalGraphStacked](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/doc/images/JKQTPbarHorizontalGraphStacked.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_stackedbars.cpp
* JKQtPlotter: Examples: Simple stacked barchart
*
* \ref JKQtPlotterStackedBarChart
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Step Line Plots in Different Styles {#JKQtPlotterStepPlot}
# JKQtPlotter
## Step Line Plots in Different Styles
This project (see `./examples/simpletest_stepplots/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects. This project (see `./examples/simpletest_stepplots/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
The source code of the main application can be found in [`jkqtplotter_simpletest_stepplots.cpp`](../simpletest_stepplots/jkqtplotter_simpletest_stepplots.cpp). For the most part, several datasets of cosine-curves are generated. then thrre tuples of graphs are added: One of type `JKQTPxyLineGraph`, which simply indicates the location of the actual datapoints. the second is of type `JKQTPstepHorizontalGraph`, which adds the step-graph to the plot: The source code of the main application can be found in [`jkqtplotter_simpletest_stepplots.cpp`](../simpletest_stepplots/jkqtplotter_simpletest_stepplots.cpp). For the most part, several datasets of cosine-curves are generated. then thrre tuples of graphs are added: One of type `JKQTPxyLineGraph`, which simply indicates the location of the actual datapoints. the second is of type `JKQTPstepHorizontalGraph`, which adds the step-graph to the plot:
@ -55,4 +51,3 @@ The result looks like this:
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_stepplots.cpp
* JKQtPlotter: Examples: Step Line Plots in Different Styles
*
* \ref JKQtPlotterStepPlot
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Simple line-graph with error bars {#JKQtPlotterSymbolsErrors}
# JKQtPlotter
## Simple line-graph with error bars
This project (see `./examples/simpletest_symbols_and_errors/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave) that has y-errorbars. In addition, this example shows how to change some of the axis properties and how to use LaTeX markup to format axis labels (can actually be used for all labels in JKQtPlotter). Also, in comparison to the last example, here we initialize the data from C-type arrays (double*), instead of QVector<double> objects. This project (see `./examples/simpletest_symbols_and_errors/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave) that has y-errorbars. In addition, this example shows how to change some of the axis properties and how to use LaTeX markup to format axis labels (can actually be used for all labels in JKQtPlotter). Also, in comparison to the last example, here we initialize the data from C-type arrays (double*), instead of QVector<double> objects.
The soruce code of the main application is (see [`jkqtplotter_simpletest_symbols_and_errors.cpp`](../simpletest_symbols_and_errors/jkqtplotter_simpletest_symbols_and_errors.cpp): The soruce code of the main application is (see [`jkqtplotter_simpletest_symbols_and_errors.cpp`](../simpletest_symbols_and_errors/jkqtplotter_simpletest_symbols_and_errors.cpp):
@ -79,4 +75,3 @@ The result looks like this:
![jkqtplotter_simpletest_symbols_and_errors](../../screenshots/jkqtplotter_simpletest_symbols_and_errors.png) ![jkqtplotter_simpletest_symbols_and_errors](../../screenshots/jkqtplotter_simpletest_symbols_and_errors.png)
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_symbols_and_errors.cpp
* JKQtPlotter: Examples: Simple line-graph with error bars
*
* \ref JKQtPlotterSymbolsErrors
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Line Graph with Different Symbols and Line Styles {#JKQtPlotterSymbolsAndStyles}
# JKQtPlotter
## Line Graph with Different Symbols and Line Styles
This project (see `./examples/simpletest_symbols_and_styles/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects. This project (see `./examples/simpletest_symbols_and_styles/`) simply creates a JKQtPlotter widget (as a new window) and adds a single line-graph (a sine-wave). Data is initialized from two QVector<double> objects.
The source code of the main application can be found in [`jkqtplotter_simpletest_symbols_and_styles.cpp`](../simpletest_symbols_and_styles/jkqtplotter_simpletest_symbols_and_styles.cpp). Mainly several graphs are generated in a loop and then different symbol and line styles are applied to the graph (set by `graph->set_symbol()` for the symbol and `graph->set_style()` for the line style). The colors are set automtically from an internal default palette. The main loop looks like this: The source code of the main application can be found in [`jkqtplotter_simpletest_symbols_and_styles.cpp`](../simpletest_symbols_and_styles/jkqtplotter_simpletest_symbols_and_styles.cpp). Mainly several graphs are generated in a loop and then different symbol and line styles are applied to the graph (set by `graph->set_symbol()` for the symbol and `graph->set_style()` for the line style). The colors are set automtically from an internal default palette. The main loop looks like this:
@ -52,4 +48,3 @@ The result looks like this:
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example jkqtplotter_simpletest_symbols_and_styles.cpp
* JKQtPlotter: Examples: Line Graph with Different Symbols and Line Styles
*
* \ref JKQtPlotterSymbolsAndStyles
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,11 +1,7 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Using a JKQtPlotter inside a Qt User Interface Designer (UI) File {#JKQtPlotterQtCreator}
# JKQtPlotter
## Using a JKQtPlotter inside a Qt User Interface Designer (UI) File
This project (see `./examples/simpletest_ui/`) demonstrates how to create add a `JKQtPlotter` inside the Qt Form Editor (e.g. called from of Qt Creator) into a widget. This project (see `./examples/simpletest_ui/`) demonstrates how to create add a `JKQtPlotter` inside the Qt Form Editor (e.g. called from of Qt Creator) into a widget.
### Instructions on how to use JKQtPlotter in the Qt Form Designer ## Instructions on how to use JKQtPlotter in the Qt Form Designer
For this to work you have to follow the steps shown below: For this to work you have to follow the steps shown below:
@ -20,7 +16,7 @@ For this to work you have to follow the steps shown below:
### QMake-Project of this example ## QMake-Project of this example
The QMake project for such a project looks like this (see [`jkqtplotter_simpletest_ui.pro`](../simpletest_ui/jkqtplotter_simpletest_ui.pro): The QMake project for such a project looks like this (see [`jkqtplotter_simpletest_ui.pro`](../simpletest_ui/jkqtplotter_simpletest_ui.pro):
```qmake ```qmake
@ -77,7 +73,7 @@ int main(int argc, char* argv[])
} }
``` ```
### Form Class `FormWithJKQtPlotter` ## Form Class `FormWithJKQtPlotter`
The Form was designed in the Qt Form Designer within Qt Creator, using the method described above (see `formwithjkqtplotter.ui`): The Form was designed in the Qt Form Designer within Qt Creator, using the method described above (see `formwithjkqtplotter.ui`):
![jkqtplotter_simpletest_ui1](../../screenshots/jkqtplotter_simpletest_ui_widget.png) ![jkqtplotter_simpletest_ui1](../../screenshots/jkqtplotter_simpletest_ui_widget.png)
@ -144,4 +140,3 @@ If you set both axes to logarithmic and modify the plotted function a bit, you g
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example formwithjkqtplotter.cpp
* JKQtPlotter: Examples: Using a JKQtPlotter inside a Qt User Interface Designer (UI) File
*
* \ref JKQtPlotterQtCreator
*/
#include "formwithjkqtplotter.h" #include "formwithjkqtplotter.h"
#include "ui_formwithjkqtplotter.h" #include "ui_formwithjkqtplotter.h"

View File

@ -1,8 +1,4 @@
[Back to JKQTPlotter main page](../../README.md) # JKQtPlotter: Examples: Laying out Several Plots {#JKQtPlotterMultiPlotLayout}
# JKQtPlotter
## Layouting Several Plots
This project (see `./examples/test_multiplot/`) shows how several JKQtPlotter widgets can be combined to in a layout (based on the [Qt layouting system](http://doc.qt.io/qt-5/layout.html)). It also shows how axes in such a layout can be linked to improve user experience. This project (see `./examples/test_multiplot/`) shows how several JKQtPlotter widgets can be combined to in a layout (based on the [Qt layouting system](http://doc.qt.io/qt-5/layout.html)). It also shows how axes in such a layout can be linked to improve user experience.
The source code of the main application can be found in [`test_multiplot.cpp`](../test_multiplot/test_multiplot.cpp). The source code of the main application can be found in [`test_multiplot.cpp`](../test_multiplot/test_multiplot.cpp).
@ -105,4 +101,4 @@ You push the print button (![test_multiplot](https://raw.githubusercontent.com/j
[Back to JKQTPlotter main page](../../README.md)

View File

@ -1,3 +1,9 @@
/** \example test_multiplot.cpp
* JKQtPlotter: Examples: Laying out Several Plots
*
* \ref JKQtPlotterMultiPlotLayout
*/
#include <QApplication> #include <QApplication>
#include "jkqtplotter/jkqtplotter.h" #include "jkqtplotter/jkqtplotter.h"
#include "jkqtplotter/jkqtpgraphs.h" #include "jkqtplotter/jkqtpgraphs.h"

View File

@ -1,7 +1,4 @@
[Back to JKQTPlotter main page](../README.md) # JKQtPlotter: LIB subdirectory
# JKQtPlotter
## LIB subdirectory
This directory contains all files that belong to the JKQtPlotter library (including the files of the JKQtFastPlotter and JKMathText). There are several ways to add these to your program: This directory contains all files that belong to the JKQtPlotter library (including the files of the JKQtFastPlotter and JKMathText). There are several ways to add these to your program:
@ -17,5 +14,3 @@ In the directory [`../staticlib`](../staticlib) you will find several Project fi
### Build shared libraries (DLLs, SOs, ...) ### Build shared libraries (DLLs, SOs, ...)
In the directory [`../sharedlib`](../sharedlib) you will find several Project files that build a dynamic shared library of the full JKQtPlotter (including JKQtFastPlotter and JKMathText), or of subsets of this library. You can then link against these libs in your project. In the directory [`../sharedlib`](../sharedlib) you will find several Project files that build a dynamic shared library of the full JKQtPlotter (including JKQtFastPlotter and JKMathText), or of subsets of this library. You can then link against these libs in your project.
[Back to JKQTPlotter main page](../README.md)

View File

@ -24,11 +24,8 @@
Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/ Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/
*/ */
/**
* \defgroup jkqtfastplotter JKQTFastPlotter: Speed-Optimized Plotter class
*/
/** \file jkqtpfastplotter.h /** \file jkqtfastplotter.h
* \ingroup jkqtfastplotter * \ingroup jkqtfastplotter
*/ */
#ifndef JKQTFASTPLOTTER_H #ifndef JKQTFASTPLOTTER_H

View File

@ -25,9 +25,6 @@
Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/ Author: Jan krieger <jan@jkrieger.de>, http://www.jkrieger.de/
*/ */
/**
* \defgroup jkqtmathtext JKQtMathText LaTeX-Renderer for Qt
*/
/** \file jkqtmathtext.h /** \file jkqtmathtext.h
* \ingroup jkqtmathtext * \ingroup jkqtmathtext

View File

@ -19,16 +19,8 @@
/**
* \defgroup jkqtpbaseplotter_elements Basic Plot Elements
* \ingroup jkqtplotter_elements
*
* This group contains some tool classes that implement basic elements of the plot (coordinate axes, key, ...).
* These classes are used by JKQtPlotterBase to output the plot
*/
/** \file jkqtpbaseelements.h /** \file jkqtpbaseelements.h
* \ingroup jkqtpbaseplotter_elements * \ingroup jkqtplotter_elements
*/ */
#ifndef JKQTPBASEELEMENTS_H #ifndef JKQTPBASEELEMENTS_H
@ -47,7 +39,7 @@
class JKQtBasePlotter; class JKQtBasePlotter;
/*! \brief this virtual class is the base for any type of coordinate axis, to be drawn by JKQTplotterBase. /*! \brief this virtual class is the base for any type of coordinate axis, to be drawn by JKQTplotterBase.
\ingroup jkqtpbaseplotter_elements \ingroup jkqtplotter_elements
This class implements all the functionality needed for a coordinate axis: This class implements all the functionality needed for a coordinate axis:
- transform world to screen coordinates and vice versa - transform world to screen coordinates and vice versa
@ -111,7 +103,7 @@ class JKQtBasePlotter;
are implemented in p2x(). They can be used to show the system coordinates of the current mouse position. are implemented in p2x(). They can be used to show the system coordinates of the current mouse position.
\section jkqtplotter_base_grids Axis Ticks and Grids \section jkqtplotter_base_grids_baseelemenets Axis Ticks and Grids
This section explains how this component draws the ticks on coordinate axes and the grids that may be drawn below This section explains how this component draws the ticks on coordinate axes and the grids that may be drawn below
the plots. In principle both - grids and axes - are drawn the same way, i.e. with the same step widths. There are the plots. In principle both - grids and axes - are drawn the same way, i.e. with the same step widths. There are
@ -914,7 +906,7 @@ class LIB_EXPORT JKQTPcoordinateAxis: public QObject {
/*! \brief implements a vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis). /*! \brief implements a vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
\ingroup jkqtpbaseplotter_elements \ingroup jkqtplotter_elements
*/ */
class LIB_EXPORT JKQTPverticalAxis: public JKQTPcoordinateAxis { class LIB_EXPORT JKQTPverticalAxis: public JKQTPcoordinateAxis {
@ -954,7 +946,7 @@ class LIB_EXPORT JKQTPverticalAxis: public JKQTPcoordinateAxis {
/*! \brief implements a position-indipendent vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis). /*! \brief implements a position-indipendent vertical axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
\ingroup jkqtpbaseplotter_elements \ingroup jkqtplotter_elements
This axis may be draw at a user-supplied position (used e.g. for color bar axes) This axis may be draw at a user-supplied position (used e.g. for color bar axes)
*/ */
@ -995,7 +987,7 @@ class LIB_EXPORT JKQTPverticalIndependentAxis: public JKQTPverticalAxis {
/*! \brief implements a horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis). /*! \brief implements a horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
\ingroup jkqtpbaseplotter_elements \ingroup jkqtplotter_elements
*/ */
class LIB_EXPORT JKQTPhorizontalAxis: public JKQTPcoordinateAxis { class LIB_EXPORT JKQTPhorizontalAxis: public JKQTPcoordinateAxis {
@ -1036,7 +1028,7 @@ class LIB_EXPORT JKQTPhorizontalAxis: public JKQTPcoordinateAxis {
/*! \brief implements a position-indipendent horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis). /*! \brief implements a position-indipendent horizontal axis, based on JKQTPcoordinateAxis (for most of documentation: see JKQTPcoordinateAxis).
\ingroup jkqtpbaseplotter_elements \ingroup jkqtplotter_elements
This axis may be draw at a user-supplied position (used e.g. for color bar axes) This axis may be draw at a user-supplied position (used e.g. for color bar axes)
*/ */

View File

@ -20,7 +20,7 @@
/** \file jkqtpbaseplotter.cpp /** \file jkqtpbaseplotter.cpp
* \ingroup jkqtpbaseplotter * \ingroup jkqtplotter
*/ */
#include <QFileInfo> #include <QFileInfo>
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))

View File

@ -19,15 +19,6 @@
/**
* \defgroup jkqtpbaseplotter Plotter Base Class
* \ingroup jkqtplotter
*
*
* This class implements the basis for plotter classes. It contains layout management code,
* coordinate system management ... Use JKQPlotter if you need a widget
*/
/** \file jkqtpbaseplotter.h /** \file jkqtpbaseplotter.h
* \ingroup jkqtpbaseplotter * \ingroup jkqtpbaseplotter
*/ */
@ -75,7 +66,7 @@ LIB_EXPORT void initJKQtBasePlotterResources();
/** \brief base class for 2D plotter classes /** \brief base class for 2D plotter classes
* \ingroup jkqtplotter * \ingroup jkqtpbaseplotter
* *
* This class implements basic functionalities for the plotter classes. Those are: * This class implements basic functionalities for the plotter classes. Those are:
* -# data storage using a JKQTPdatastore object * -# data storage using a JKQTPdatastore object
@ -115,7 +106,7 @@ LIB_EXPORT void initJKQtBasePlotterResources();
* methods (x2p(), y2p(), p2x(), p2y() which only call the respective methods in xAxis and yAxis objects. * methods (x2p(), y2p(), p2x(), p2y() which only call the respective methods in xAxis and yAxis objects.
* *
* *
* \section jkqtplotter_base_grids Axis Ticks and Grids * \section jkqtplotter_base_grids_baseplotter Axis Ticks and Grids
* - The plotting of coordinate axes and grids, as well as coordinate transforms is done by * - The plotting of coordinate axes and grids, as well as coordinate transforms is done by
* JKQTPcoordinateAxis descendents (see documentation there) * JKQTPcoordinateAxis descendents (see documentation there)
* . * .
@ -847,11 +838,13 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
/** \brief set the datarange of all current graphs to the given values */ /** \brief set the datarange of all current graphs to the given values */
void setGraphsDataRange(int datarange_start, int datarange_end); void setGraphsDataRange(int datarange_start, int datarange_end);
/** \brief en-/disables the maintaining of the data aspect ratio */
void set_maintainAspectRatio(bool value) { void set_maintainAspectRatio(bool value) {
maintainAspectRatio=value; maintainAspectRatio=value;
update_plot(); update_plot();
} }
/** \brief en-/disables the maintaining of the axis aspect ratio */
void set_maintainAxisAspectRatio(bool value) { void set_maintainAxisAspectRatio(bool value) {
maintainAxisAspectRatio=value; maintainAxisAspectRatio=value;
update_plot(); update_plot();
@ -1090,6 +1083,7 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
int getNextStyle(); int getNextStyle();
/** \brief represents a pen, when plotting in JKQtPlotter/JKQtBasePlotter */
struct JKQTPPen { struct JKQTPPen {
QColor m_color; QColor m_color;
double m_width; double m_width;
@ -1833,11 +1827,17 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
inline int get_plotWidth() const { return this->plotWidth; } inline int get_plotWidth() const { return this->plotWidth; }
/*! \brief returns the property plotHeight. \details Description of the parameter plotHeight is: <BLOCKQUOTE>\copybrief plotHeight </BLOCKQUOTE>. \see plotHeight for more information */ /*! \brief returns the property plotHeight. \details Description of the parameter plotHeight is: <BLOCKQUOTE>\copybrief plotHeight </BLOCKQUOTE>. \see plotHeight for more information */
inline int get_plotHeight() const { return this->plotHeight; } inline int get_plotHeight() const { return this->plotHeight; }
/** \brief returns the internal JKQTmathText, used to render text with LaTeX markup */
inline JKQTmathText* get_mathText() { return &mathText; } inline JKQTmathText* get_mathText() { return &mathText; }
/** \brief returns the internal JKQTmathText, used to render text with LaTeX markup */
inline const JKQTmathText* get_mathText() const { return &mathText; } inline const JKQTmathText* get_mathText() const { return &mathText; }
/** \brief returns the x-axis objet of the plot */
inline JKQTPhorizontalAxis* get_xAxis() { return xAxis; } inline JKQTPhorizontalAxis* get_xAxis() { return xAxis; }
/** \brief returns the y-axis objet of the plot */
inline JKQTPverticalAxis* get_yAxis() { return yAxis; } inline JKQTPverticalAxis* get_yAxis() { return yAxis; }
/** \brief returns the x-axis objet of the plot */
inline const JKQTPhorizontalAxis* get_xAxis() const { return xAxis; } inline const JKQTPhorizontalAxis* get_xAxis() const { return xAxis; }
/** \brief returns the y-axis objet of the plot */
inline const JKQTPverticalAxis* get_yAxis() const { return yAxis; } inline const JKQTPverticalAxis* get_yAxis() const { return yAxis; }
@ -2200,7 +2200,6 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
public: public:
/** \brief set a global preset/default value for the userSettigsFilename and userSettigsPrefix properties of JKQtBasePlotter /** \brief set a global preset/default value for the userSettigsFilename and userSettigsPrefix properties of JKQtBasePlotter
* \ingroup jkqtplotter
* *
* These presets are application global and will be used ONLY on initialization of a JKQtBasePlotter. You can overwrite them * These presets are application global and will be used ONLY on initialization of a JKQtBasePlotter. You can overwrite them
* on a local-basis for each JKQtBasePrinter separately. The changed values from this function call will only take effect for * on a local-basis for each JKQtBasePrinter separately. The changed values from this function call will only take effect for
@ -2208,6 +2207,8 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
*/ */
static void setDefaultJKQtBasePrinterUserSettings(QString userSettigsFilename, QString userSettigsPrefix); static void setDefaultJKQtBasePrinterUserSettings(QString userSettigsFilename, QString userSettigsPrefix);
/** \brief Service from this class to implement a special QPaintDevice as a plugin, that can be registered to JKQtBasePlotter/JKQtPlotter
* and then be used to export graphics, use registerPaintDeviceAdapter() to register such a plass */
class LIB_EXPORT JKQTPPaintDeviceAdapter { class LIB_EXPORT JKQTPPaintDeviceAdapter {
public: public:
virtual ~JKQTPPaintDeviceAdapter() {} virtual ~JKQTPPaintDeviceAdapter() {}
@ -2226,10 +2227,14 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
virtual QPaintDevice* createPaintdeviceMM(const QString& filename, double widthMM, double heightMM) const; virtual QPaintDevice* createPaintdeviceMM(const QString& filename, double widthMM, double heightMM) const;
}; };
/** \brief register a user-defined QPaintDevice (with factory JKQTPPaintDeviceAdapter) as a plugin to JKQtBasePlotter/JKQtPlotter,
* which will use it to export graphics */
static void registerPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter); static void registerPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter);
/** \brief de-register a JKQTPPaintDeviceAdapter from JKQtBasePlotter/JKQtPlotter */
static void deregisterPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter); static void deregisterPaintDeviceAdapter(JKQTPPaintDeviceAdapter* adapter);
/** \brief virtual base-class for exporter classes that can be used to save data inot a file */
class LIB_EXPORT JKQTPSaveDataAdapter { class LIB_EXPORT JKQTPSaveDataAdapter {
public: public:
virtual ~JKQTPSaveDataAdapter() ; virtual ~JKQTPSaveDataAdapter() ;
@ -2237,15 +2242,20 @@ class LIB_EXPORT JKQtBasePlotter: public QObject {
virtual void saveJKQTPData(const QString& filename, const QList<QVector<double> >& data, const QStringList& columnNames) const=0; virtual void saveJKQTPData(const QString& filename, const QList<QVector<double> >& data, const QStringList& columnNames) const=0;
}; };
/** \brief register a JKQTPSaveDataAdapter with JKQtPlotter/JKQtBasePlotter that can be used to export data from the internal datastore into a file */
static bool registerSaveDataAdapter(JKQTPSaveDataAdapter* adapter); static bool registerSaveDataAdapter(JKQTPSaveDataAdapter* adapter);
/** \brief de-register a JKQTPSaveDataAdapter from JKQtPlotter/JKQtBasePlotter */
static bool deregisterSaveDataAdapter(JKQTPSaveDataAdapter* adapter); static bool deregisterSaveDataAdapter(JKQTPSaveDataAdapter* adapter);
/** \brief internal tool class for text sizes
* \internal */
struct LIB_EXPORT textSizeData { struct LIB_EXPORT textSizeData {
explicit textSizeData(); explicit textSizeData();
double ascent, descent, width, strikeoutPos; double ascent, descent, width, strikeoutPos;
}; };
/** \brief internal tool class for text-sizess in a plot key
* \internal */
struct LIB_EXPORT textSizeKey { struct LIB_EXPORT textSizeKey {
explicit textSizeKey(const QFont& f, const QString& text, QPaintDevice *pd); explicit textSizeKey(const QFont& f, const QString& text, QPaintDevice *pd);
explicit textSizeKey(const QString& fontName, double fontSize, const QString& text, QPaintDevice *pd); explicit textSizeKey(const QString& fontName, double fontSize, const QString& text, QPaintDevice *pd);

View File

@ -19,17 +19,6 @@
/**
* \defgroup jkqtpdatastorage Data Storage Classes/System
* \ingroup jkqtplotter
*
* The classes in this group implement a data storage system for use with the main plotter class.
* Basically a table of data is generated as a set of logical columns that may be bound to different
* data sources (internal or external memory arrays. Later on it is simply possible to plot graphs
* using the column number and the not a link to the actual data array, as the link is stored in these
* classes.
*/
/** \file jkqtpdatastorage.h /** \file jkqtpdatastorage.h
* \ingroup jkqtpdatastorage * \ingroup jkqtpdatastorage
*/ */
@ -252,9 +241,9 @@ class LIB_EXPORT JKQTPdatastore{
/** \brief copies the given \A old_column into a new one, reading the data with the given start column and stride */ /** \brief copies the given \a old_column into a new one, reading the data with the given start column and stride */
size_t copyColumn(size_t old_column, size_t start, size_t stride, const QString& name=QString("")); size_t copyColumn(size_t old_column, size_t start, size_t stride, const QString& name=QString(""));
/** \brief copies the given \A old_column into a new one */ /** \brief copies the given \a old_column into a new one */
size_t copyColumn(size_t old_column, const QString& name=QString("")); size_t copyColumn(size_t old_column, const QString& name=QString(""));

View File

@ -18,12 +18,6 @@
*/ */
/**
* \defgroup jkqtplotter_overlays Overlay Elements
* \ingroup jkqtplotter
*/
/** \file jkqtpelementsoverlay.h /** \file jkqtpelementsoverlay.h
* \ingroup jkqtplotter_overlays * \ingroup jkqtplotter_overlays
*/ */

View File

@ -18,14 +18,6 @@
*/ */
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphs.h /** \file jkqtpgraphs.h
* \ingroup jkqtplotter * \ingroup jkqtplotter
*/ */
@ -55,7 +47,7 @@ class JKQTPdatastore;
/*! \brief This implements xy line plots. This also alows to draw symbols at the data points. /*! \brief This implements xy line plots. This also alows to draw symbols at the data points.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_lineplots.png \image html plot_lineplots.png
*/ */
@ -259,7 +251,7 @@ class LIB_EXPORT JKQTPxyLineGraph: public JKQTPxyGraph {
/*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column. /*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column. set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column.
*/ */
@ -486,7 +478,7 @@ class LIB_EXPORT JKQTPxyParametrizedScatterGraph: public JKQTPxyLineGraph, publi
/*! \brief This implements xy line plots with x and y error indicators. /*! \brief This implements xy line plots with x and y error indicators.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_errorbarlineplots.png \image html plot_errorbarlineplots.png
\image html plot_errorlinelineplots.png \image html plot_errorlinelineplots.png
@ -521,7 +513,7 @@ class LIB_EXPORT JKQTPxyLineErrorGraph: public JKQTPxyLineGraph, public JKQTPxyG
/*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column. with errorbars /*! \brief This implements xy scatter plots (like JKQTPxyLineGraph), but the color and size of the symbols may be taken from a column. with errorbars
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column. set the properties sizeColumn and/or colorColumn to change the size and/or color of the symbols according to the values in the column.
*/ */
@ -559,7 +551,7 @@ class LIB_EXPORT JKQTPxyParametrizedErrorScatterGraph: public JKQTPxyParametrize
/*! \brief This implements a step plot with values \f$ \left(x, f(x) \right) \f$ /*! \brief This implements a step plot with values \f$ \left(x, f(x) \right) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
A step plot starts at \f$ \left(x_{i-1}, f(x_{i-1})\right) \f$ and then goes on to A step plot starts at \f$ \left(x_{i-1}, f(x_{i-1})\right) \f$ and then goes on to
\f$ \left(x_{i}, f(x_{i-1})\right) \f$. There it raises immediately to \f$ \left(x_{i}, f(x_{i-1})\right) \f$. There it raises immediately to
@ -732,7 +724,7 @@ class LIB_EXPORT JKQTPstepHorizontalGraph: public JKQTPxyGraph {
/*! \brief This implements a step plot with values \f$ \left(f(y), y \right) \f$ /*! \brief This implements a step plot with values \f$ \left(f(y), y \right) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
A step plot starts at \f$ \left(f(y_{i-1}), x_{i-1}\right) \f$ and then goes on to A step plot starts at \f$ \left(f(y_{i-1}), x_{i-1}\right) \f$ and then goes on to
\f$ \left(f(y_{i-1}), y_{i}\right) \f$. There it raises immediately to \f$ \left(f(y_{i-1}), y_{i}\right) \f$. There it raises immediately to
@ -772,7 +764,7 @@ class LIB_EXPORT JKQTPstepVerticalGraph: public JKQTPstepHorizontalGraph {
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev /*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
or a range of interest, or the range of good values, ... or a range of interest, or the range of good values, ...
\ingroup jkqtplotter_plots \ingroup jkqtplotter_diverse
*/ */
class LIB_EXPORT JKQTPhorizontalRange: public JKQTPgraph { class LIB_EXPORT JKQTPhorizontalRange: public JKQTPgraph {
@ -1137,7 +1129,7 @@ class LIB_EXPORT JKQTPhorizontalRange: public JKQTPgraph {
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev /*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
or a range of interest, or the range of good values, ... or a range of interest, or the range of good values, ...
\ingroup jkqtplotter_plots \ingroup jkqtplotter_diverse
*/ */
class LIB_EXPORT JKQTPverticalRange: public JKQTPhorizontalRange { class LIB_EXPORT JKQTPverticalRange: public JKQTPhorizontalRange {

View File

@ -18,16 +18,8 @@
*/ */
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsbarchart.h /** \file jkqtpgraphsbarchart.h
* \ingroup jkqtplotter * \ingroup jkqtplotter_barssticks
*/ */
#include <QString> #include <QString>
@ -44,7 +36,7 @@
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$ /*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
This class plots a bargraph. This image explains the parameters: This class plots a bargraph. This image explains the parameters:
@ -285,7 +277,7 @@ class LIB_EXPORT JKQTPbarVerticalGraph: public JKQTPxyGraph {
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$ /*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
* Optionally several graphs of this type may be stacked on top of each other * Optionally several graphs of this type may be stacked on top of each other
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_barssticks
* *
* Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot * Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot
* \image html JKQTPbarVerticalGraphStacked.png * \image html JKQTPbarVerticalGraphStacked.png
@ -324,7 +316,7 @@ class LIB_EXPORT JKQTPbarVerticalStackableGraph: public JKQTPbarVerticalGraph {
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$ /*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
* and error indicator * and error indicator
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_barssticks
* *
* This works much the same as JKQTPbarHorizontalGraph. Here is an example output: * This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
* \image html plot_bargraphverploterr.png * \image html plot_bargraphverploterr.png
@ -355,7 +347,7 @@ class LIB_EXPORT JKQTPbarVerticalErrorGraph: public JKQTPbarVerticalGraph, publi
/*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$ /*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
This works much the same as JKQTPbarHorizontalGraph. Here is an example output: This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
\image html plot_bargraphhorplot.png \image html plot_bargraphhorplot.png
@ -391,7 +383,7 @@ class LIB_EXPORT JKQTPbarHorizontalGraph: public JKQTPbarVerticalGraph {
/*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$ /*! \brief This implements a bar graph with bars starting at \f$ y=0 \f$ to \f$ y=f(x) \f$
* Optionally several graphs of this type may be stacked on top of each other * Optionally several graphs of this type may be stacked on top of each other
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_barssticks
* *
* Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot * Draw stacked barcharts by connecting several plots by calling \c set_stackedParent(belowPlot) for each plot
* \image html JKQTPbarHorizontalGraphStacked.png * \image html JKQTPbarHorizontalGraphStacked.png
@ -430,7 +422,7 @@ class LIB_EXPORT JKQTPbarHorizontalStackableGraph: public JKQTPbarHorizontalGrap
/*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$ /*! \brief This implements a bar graph with bars starting at \f$ x=0 \f$ to \f$ x=f(y) \f$
* and error indicator * and error indicator
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_barssticks
* *
* This works much the same as JKQTPbarHorizontalGraph. Here is an example output: * This works much the same as JKQTPbarHorizontalGraph. Here is an example output:
* \image html plot_bargraphhorploterr.png * \image html plot_bargraphhorploterr.png

View File

@ -18,16 +18,8 @@
*/ */
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsbase.h /** \file jkqtpgraphsbase.h
* \ingroup jkqtplotter * \ingroup jkqtplotter_basegraphs
*/ */
#include <QString> #include <QString>
@ -48,7 +40,7 @@ class JKQTPdatastore;
/** \brief this virtual base class of every element, which is part of a JKQtPlotter plot and may appear in its key /** \brief this virtual base class of every element, which is part of a JKQtPlotter plot and may appear in its key
* (basically any type of graph, except overlay elements!) * (basically any type of graph, except overlay elements!)
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_basegraphs
* *
* Each possible graph is represented by a child of this class. So additional plots may be created by * Each possible graph is represented by a child of this class. So additional plots may be created by
* deriving new JKQTPgraph classes. To do so implement/overwrite these functions: * deriving new JKQTPgraph classes. To do so implement/overwrite these functions:
@ -210,7 +202,7 @@ class LIB_EXPORT JKQTPplotElement: public QObject {
* which are part of a JKQtPlotter plot and which use the coordinate system * which are part of a JKQtPlotter plot and which use the coordinate system
* of the JKQtPlotter (i.e. the two coordinate axes get_xAxis() and get_yAxis()) * of the JKQtPlotter (i.e. the two coordinate axes get_xAxis() and get_yAxis())
* as basis for the graphs * as basis for the graphs
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_basegraphs
* *
* This class adds several features to work with data columns. In addition this class adds protected * This class adds several features to work with data columns. In addition this class adds protected
* functions that do coordinate transforms based on the current coordinate system, of the paren * functions that do coordinate transforms based on the current coordinate system, of the paren
@ -303,7 +295,7 @@ class LIB_EXPORT JKQTPgraph: public JKQTPplotElement {
* represent geometric forms or annotations. They have extended coordinate transform capabilities, because * represent geometric forms or annotations. They have extended coordinate transform capabilities, because
* in addition to using the plot coordinates, you can also choose to use different other * in addition to using the plot coordinates, you can also choose to use different other
* coordinate systems * coordinate systems
* \ingroup jkqtplotter_plots * \ingroup jkqtplotter_basegraphs
* *
*/ */
class LIB_EXPORT JKQTPplotObject: public JKQTPplotElement { class LIB_EXPORT JKQTPplotObject: public JKQTPplotElement {
@ -327,7 +319,7 @@ class LIB_EXPORT JKQTPplotObject: public JKQTPplotElement {
/*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least two columns /*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least two columns
that specify x and y coordinates for the single plot points. that specify x and y coordinates for the single plot points.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphs
This class implements basic management facilities for the data columns and implements the function This class implements basic management facilities for the data columns and implements the function
- bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero); - bool getXMinMax(double& minx, double& maxx, double& smallestGreaterZero);
@ -443,7 +435,7 @@ class LIB_EXPORT JKQTPxyGraph: public JKQTPgraph {
/*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least one column /*! \brief This virtual JKQTPgraph descendent may be used as base for all graphs that use at least one column
of data of data
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphs
*/ */
@ -586,7 +578,7 @@ class LIB_EXPORT JKQTPsingleColumnGraph: public JKQTPgraph {
/*! \brief Descendents of this class add data fields for error indicators and methods to plot them to a class. /*! \brief Descendents of this class add data fields for error indicators and methods to plot them to a class.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphserrors
This class is meant to be used with multiple inheritance. I.e. if you implemented some kind of plot This class is meant to be used with multiple inheritance. I.e. if you implemented some kind of plot
you may derive an error plot class in which you will have to overwrite the JKQTPgraph::drawErrorsBefor() you may derive an error plot class in which you will have to overwrite the JKQTPgraph::drawErrorsBefor()
@ -730,7 +722,7 @@ class LIB_EXPORT JKQTPgraphErrors {
/*! \brief This class adds data fields for error indicators in x direction to a JKQTPgraph descendent. /*! \brief This class adds data fields for error indicators in x direction to a JKQTPgraph descendent.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphserrors
\see JKQTPgraphErrors \see JKQTPgraphErrors
*/ */
class LIB_EXPORT JKQTPxGraphErrors: public JKQTPgraphErrors { class LIB_EXPORT JKQTPxGraphErrors: public JKQTPgraphErrors {
@ -799,7 +791,7 @@ class LIB_EXPORT JKQTPxGraphErrors: public JKQTPgraphErrors {
/*! \brief This class adds data fields for error indicators in y direction to a class. /*! \brief This class adds data fields for error indicators in y direction to a class.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphserrors
\see JKQTPgraphErrors \see JKQTPgraphErrors
*/ */
@ -867,7 +859,7 @@ class LIB_EXPORT JKQTPyGraphErrors: public JKQTPgraphErrors {
/*! \brief This class adds data fields for error indicators in x and y direction to a class. /*! \brief This class adds data fields for error indicators in x and y direction to a class.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_basegraphserrors
\see JKQTPgraphErrors \see JKQTPgraphErrors
*/ */

View File

@ -18,16 +18,8 @@
*/ */
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsboxplot.h /** \file jkqtpgraphsboxplot.h
* \ingroup jkqtplotter * \ingroup jkqtplotter_statgraphs
*/ */
#include <QString> #include <QString>
@ -45,7 +37,7 @@
/*! \brief This implements vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a> /*! \brief This implements vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a>
\ingroup jkqtplotter_plots \ingroup jkqtplotter_statgraphs
the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn, the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn,
percentile25Column and percentile75Column. percentile25Column and percentile75Column.
@ -414,7 +406,7 @@ class LIB_EXPORT JKQTPboxplotVerticalGraph: public JKQTPgraph {
/*! \brief This implements horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a> /*! \brief This implements horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplots</a>
\ingroup jkqtplotter_plots \ingroup jkqtplotter_statgraphs
the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn, the x position is given in posColumn. All other data are given in the medianColumn, minColumn, maxColumn,
percentile25Column and percentile75Column. percentile25Column and percentile75Column.
@ -455,7 +447,7 @@ class LIB_EXPORT JKQTPboxplotHorizontalGraph: public JKQTPboxplotVerticalGraph {
/*! \brief This implements a vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the /*! \brief This implements a vertical <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the
object and not stored in a column, as in JKQTPboxplotVerticalGraph object and not stored in a column, as in JKQTPboxplotVerticalGraph
\ingroup jkqtplotter_plots \ingroup jkqtplotter_statgraphs
the x position is given in posColumn. All other data are given in the median, min, max, the x position is given in posColumn. All other data are given in the median, min, max,
percentile25 and percentile75. percentile25 and percentile75.
@ -806,7 +798,7 @@ class LIB_EXPORT JKQTPboxplotVerticalElement: public JKQTPgraph {
/*! \brief This implements a horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the /*! \brief This implements a horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">boxplot</a> where the data is directly given to the
object and not stored in a column, as in JKQTPboxplotVerticalGraph object and not stored in a column, as in JKQTPboxplotVerticalGraph
\ingroup jkqtplotter_plots \ingroup jkqtplotter_statgraphs
the x position is given in pos. All other data are given in the median, min, max, the x position is given in pos. All other data are given in the median, min, max,
percentile25 and percentile75. percentile25 and percentile75.

View File

@ -19,15 +19,8 @@
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsevaluatedfunction.h /** \file jkqtpgraphsevaluatedfunction.h
* \ingroup jkqtplotter * \ingroup jkqtplotter_Fgraphs
*/ */
#include <QString> #include <QString>
@ -44,7 +37,7 @@
/*! \brief type of functions that may be plottet /*! \brief type of functions that may be plottet
\ingroup jkqtplotter_plots \ingroup jkqtplotter_Fgraphs
This is the type of functions \f$ y=f(x, \vec{p}) \f$ that may be plottet by JKQTPxFunctionLineGraph This is the type of functions \f$ y=f(x, \vec{p}) \f$ that may be plottet by JKQTPxFunctionLineGraph
and JKQTPyFunctionLineGraph. It is possible to supply parameters \f$ \vec{p} \f$ to the function that and JKQTPyFunctionLineGraph. It is possible to supply parameters \f$ \vec{p} \f$ to the function that
@ -54,7 +47,7 @@
typedef std::function<double(double, void*)> jkqtpPlotFunctionType; typedef std::function<double(double, void*)> jkqtpPlotFunctionType;
/*! \brief simplified type of functions (without parameters) that may be plottet /*! \brief simplified type of functions (without parameters) that may be plottet
\ingroup jkqtplotter_plots \ingroup jkqtplotter_Fgraphs
This is the type of functions \f$ y=f(x) \f$ that may be plottet by JKQTPxFunctionLineGraph This is the type of functions \f$ y=f(x) \f$ that may be plottet by JKQTPxFunctionLineGraph
and JKQTPyFunctionLineGraph. and JKQTPyFunctionLineGraph.
@ -63,7 +56,7 @@ typedef std::function<double(double)> jkqtpSimplePlotFunctionType;
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$ /*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_Fgraphs
This class implements an intelligent plotting algorithm for functions. It starts by sampling This class implements an intelligent plotting algorithm for functions. It starts by sampling
the function at minSamples positions. Then each function interval is bisected recursively if the function at minSamples positions. Then each function interval is bisected recursively if
@ -628,7 +621,7 @@ class LIB_EXPORT JKQTPxFunctionLineGraph: public JKQTPgraph {
}; };
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$ /*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$
\ingroup jkqtplotter_plots \ingroup jkqtplotter_Fgraphs
*/ */
class LIB_EXPORT JKQTPyFunctionLineGraph: public JKQTPxFunctionLineGraph { class LIB_EXPORT JKQTPyFunctionLineGraph: public JKQTPxFunctionLineGraph {

View File

@ -29,7 +29,7 @@
/*! \brief This implements filled curve plots where the area is filled between the plot line and the x-Axis. /*! \brief This implements filled curve plots where the area is filled between the plot line and the x-Axis.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_filledcurvexplots.png \image html plot_filledcurvexplots.png
*/ */
@ -208,7 +208,7 @@ class LIB_EXPORT JKQTPfilledCurveXGraph: public JKQTPxyGraph {
/*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis. /*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_filledcurvexerrorplots.png \image html plot_filledcurvexerrorplots.png
*/ */
@ -234,7 +234,7 @@ class LIB_EXPORT JKQTPfilledCurveXErrorGraph: public JKQTPfilledCurveXGraph, pub
/*! \brief This implements filled curve plots where the area is filled between the plot line and y-Axis /*! \brief This implements filled curve plots where the area is filled between the plot line and y-Axis
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_filledcurveyplots.png \image html plot_filledcurveyplots.png
*/ */
@ -253,7 +253,7 @@ class LIB_EXPORT JKQTPfilledCurveYGraph: public JKQTPfilledCurveXGraph {
/*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis. /*! \brief This implements filled curve plots with y errors where the area is filled between the plot line and the x-Axis.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
\image html plot_filledcurveyerrorplots.png \image html plot_filledcurveyerrorplots.png
*/ */
@ -279,7 +279,7 @@ class LIB_EXPORT JKQTPfilledCurveYErrorGraph: public JKQTPfilledCurveYGraph, pub
/*! \brief This implements filled curve plots where the area is filled between two data columns for each x-value /*! \brief This implements filled curve plots where the area is filled between two data columns for each x-value
\ingroup jkqtplotter_plots \ingroup jkqtplotter_linesymbolgraphs
With set_drawlines(false): With set_drawlines(false):
\image html JKQTPfilledVerticalRangeGraph.png \image html JKQTPfilledVerticalRangeGraph.png

View File

@ -19,13 +19,6 @@
/**
* \defgroup jkqtplotter_geoplots Geometric Elements (Lines, Rectangles, ...)
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsgeometric.h /** \file jkqtpgraphsgeometric.h
* \ingroup jkqtplotter_geoplots * \ingroup jkqtplotter_geoplots
*/ */

View File

@ -23,15 +23,8 @@
/**
* \defgroup jkqtplotter_imagelots Image Plotting Elements
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphsimage.h /** \file jkqtpgraphsimage.h
* \ingroup jkqtplotter_imagelots * \ingroup jkqtplotter_imagelots_elements
*/ */
#include <QString> #include <QString>
@ -47,8 +40,7 @@
/*! \brief base class for plotting an image /*! \brief base class for plotting an image
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
*/ */
class LIB_EXPORT JKQTPImageBase: public JKQTPgraph { class LIB_EXPORT JKQTPImageBase: public JKQTPgraph {
Q_OBJECT Q_OBJECT
@ -156,7 +148,9 @@ class LIB_EXPORT JKQTPImageBase: public JKQTPgraph {
/*! \brief base class to hold an image from an 2-dimensional array of values /*! \brief base class to hold an image from an 2-dimensional array of values
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_imageplot.png
*/ */
class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase { class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase {
@ -358,8 +352,9 @@ class LIB_EXPORT JKQTPMathImageBase: public JKQTPImageBase {
/*! \brief class to plot an image from a QImage object /*! \brief class to plot an image from a QImage object
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_rgbimageplot_qt
*/ */
class LIB_EXPORT JKQTPImage: public JKQTPImageBase { class LIB_EXPORT JKQTPImage: public JKQTPImageBase {
Q_OBJECT Q_OBJECT
@ -421,8 +416,11 @@ class LIB_EXPORT JKQTPImage: public JKQTPImageBase {
/*! \brief class to plot an image from an 2-dimensional array of values /*! \brief class to plot an image from an 2-dimensional array of values
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_imageplot.png
\image html jkqtplotter_simpletest_imageplot_modifier.png
\image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png
*/ */
class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase { class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase {
Q_OBJECT Q_OBJECT
@ -908,8 +906,9 @@ class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase {
/*! \brief class to plot an image from an 2-dimensional array of values /*! \brief class to plot an image from an 2-dimensional array of values
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_rgbimageplot_opencv.png
*/ */
class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase { class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase {
Q_OBJECT Q_OBJECT
@ -1422,7 +1421,11 @@ class LIB_EXPORT JKQTPRGBMathImage: public JKQTPMathImageBase {
/*! \brief class to plot an image from an 2-dimensional array of values stored in a column of the datastore /*! \brief class to plot an image from an 2-dimensional array of values stored in a column of the datastore
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_imageplot.png
\image html jkqtplotter_simpletest_imageplot_modifier.png
\image html jkqtplotter_simpletest_imageplot__smallscaletransparent.png
*/ */
class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage { class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage {
@ -1484,8 +1487,10 @@ class LIB_EXPORT JKQTPColumnMathImage: public JKQTPMathImage {
/*! \brief like JKQTPRGBMathImage but reads images from columns of the datastore /*! \brief like JKQTPRGBMathImage but reads images from columns of the datastore
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
\image html jkqtplotter_simpletest_rgbimageplot_opencv.png
*/ */
class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage { class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage {
Q_OBJECT Q_OBJECT
@ -1578,7 +1583,7 @@ class LIB_EXPORT JKQTPColumnRGBMathImage: public JKQTPRGBMathImage {
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent) /*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
*/ */
class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase { class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase {
@ -1707,7 +1712,7 @@ class LIB_EXPORT JKQTPOverlayImage: public JKQTPImageBase {
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent) /*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower. In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower.
Also it is possible to draw other types of markers (cross, circles, ...) Also it is possible to draw other types of markers (cross, circles, ...)
@ -1820,7 +1825,7 @@ class LIB_EXPORT JKQTPOverlayImageEnhanced: public JKQTPOverlayImage {
/*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent) /*! \brief class to plot an image from an 2-dimensional array of boolean values: alle \c true values are plotted in a given color, while the \c false pixels are drawn in another (default: transparent)
\ingroup jkqtplotter_imagelots \ingroup jkqtplotter_imagelots_elements
In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower. In contrast to JKQTPOverlayImage this class draws ist contents as rectangles, not as semi-transparent image. This may lead to nicer results,but could be slower.
Also it is possible to draw other types of markers (cross, circles, ...) Also it is possible to draw other types of markers (cross, circles, ...)
@ -1861,7 +1866,7 @@ class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanc
/*! \brief class for a contour plot /*! \brief class for a contour plot
* \ingroup jkqtplotter_imagelots * \ingroup jkqtplotter_imagelots_contour
* calculates the contour of a given image using the CONREC algorithm * calculates the contour of a given image using the CONREC algorithm
* <a href="http://paulbourke.net/papers/conrec/">http://paulbourke.net/papers/conrec/</a> * <a href="http://paulbourke.net/papers/conrec/">http://paulbourke.net/papers/conrec/</a>
* The implementation for Qt is adapted from Qwt * The implementation for Qt is adapted from Qwt
@ -1875,6 +1880,8 @@ class LIB_EXPORT JKQTPColumnOverlayImageEnhanced: public JKQTPOverlayImageEnhanc
* with logarithmic spacing. * with logarithmic spacing.
* *
* \author Sebastian Isbaner, 2013-2014 * \author Sebastian Isbaner, 2013-2014
*
* \image html JKQTPContour.png
*/ */
class LIB_EXPORT JKQTPContour: public JKQTPMathImage { class LIB_EXPORT JKQTPContour: public JKQTPMathImage {
Q_OBJECT Q_OBJECT

View File

@ -27,7 +27,7 @@
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from y=0 to y=f(x) ) /*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from y=0 to y=f(x) )
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
\image html plot_impulsesxplots.png \image html plot_impulsesxplots.png
*/ */
@ -107,7 +107,7 @@ class LIB_EXPORT JKQTPimpulsesHorizontalGraph: public JKQTPxyGraph {
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) ) /*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) )
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
\image html plot_impulsesxerrorsplots.png \image html plot_impulsesxerrorsplots.png
*/ */
@ -130,7 +130,7 @@ class LIB_EXPORT JKQTPimpulsesHorizontalErrorGraph: public JKQTPimpulsesHorizont
/*! \brief This implements an impulse plot with impulses in direction of the Y axis (i.e. from y=0 to y=f(x) ) /*! \brief This implements an impulse plot with impulses in direction of the Y axis (i.e. from y=0 to y=f(x) )
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
\image html plot_impulsesyplots.png \image html plot_impulsesyplots.png
*/ */
@ -149,7 +149,7 @@ class LIB_EXPORT JKQTPimpulsesVerticalGraph: public JKQTPimpulsesHorizontalGraph
/*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) ) /*! \brief This implements an impulse plot with impulses in direction of the X axis (i.e. from x=0 to x=f(y) )
\ingroup jkqtplotter_plots \ingroup jkqtplotter_barssticks
\image html plot_impulsesyerrorsplots.png \image html plot_impulsesyerrorsplots.png
*/ */

View File

@ -36,7 +36,7 @@ class JKQtPlotter;
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$ The function is defined as a string and parsed by JKMathParser /*! \brief This implements line plots where the data is taken from a user supplied function \f$ y=f(x) \f$ The function is defined as a string and parsed by JKMathParser
\ingroup jkqtplotter_plots \ingroup jkqtplotter_parsedFgraphs
Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ... Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ...
Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered. Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered.
@ -122,7 +122,7 @@ class LIB_EXPORT JKQTPxParsedFunctionLineGraph: public JKQTPxFunctionLineGraph {
/*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$ The function is defined as a string and parsed by JKMathParser /*! \brief This implements line plots where the data is taken from a user supplied function \f$ x=f(y) \f$ The function is defined as a string and parsed by JKMathParser
\ingroup jkqtplotter_plots \ingroup jkqtplotter_parsedFgraphs
Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ... Additional function parameters may be given in the vector parameters. They are accessible in the function as \c p1 , \c p2 , \c p3 , ...
Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered. Parameters may also be given from a data column. Then first the params from the column and the the parameters from the vector are numbered.

View File

@ -18,14 +18,6 @@
*/ */
/**
* \defgroup jkqtplotter_elements Plot Elements
* \ingroup jkqtplotter
* \defgroup jkqtplotter_plots Graphs
* \ingroup jkqtplotter_elements
*/
/** \file jkqtpgraphspeakstream.h /** \file jkqtpgraphspeakstream.h
* \ingroup jkqtplotter * \ingroup jkqtplotter
*/ */
@ -48,7 +40,7 @@ class JKQTPdatastore;
/*! \brief interprets data as a stream of x- or y-positions \f$ p_i \f$ (depending in \a yPeaks ) ans plots a line on the height /*! \brief interprets data as a stream of x- or y-positions \f$ p_i \f$ (depending in \a yPeaks ) ans plots a line on the height
\a baseline and upright lines from baseline to baseline+peakHeight at each position \f$ p_i \f$. This can be used to \a baseline and upright lines from baseline to baseline+peakHeight at each position \f$ p_i \f$. This can be used to
display a stream of photons with given arrivaltimes \f$ p_i \f$. display a stream of photons with given arrivaltimes \f$ p_i \f$.
\ingroup jkqtplotter_plots \ingroup jkqtplotter_diverse
\image html JKQTPPeakStreamGraphY.png "yPeaks=true" \image html JKQTPPeakStreamGraphY.png "yPeaks=true"
\image html JKQTPPeakStreamGraphX.png "yPeaks=false" \image html JKQTPPeakStreamGraphX.png "yPeaks=false"

View File

@ -1,27 +0,0 @@
/*! \defgroup tools Tool Routines and Classes
This group contains a set of tools that I've written over the years to enhance the
C++ standard library.
\defgroup tools_containers Additional Container Classes
\ingroup tools
\defgroup tools_classes Various Tool Classes
\ingroup tools
\defgroup tools_math Tools for Mathematical Computations & Equation Parsing
\ingroup tools
\defgroup tools_math_linalg Linear Algebra
\ingroup tools_math
\defgroup tools_math_func Mathematical Functions
\ingroup tools_math
\defgroup tools_math_stat Statistics Functions
\ingroup tools_math
\defgroup tools_qt Additional Widgets/Tools for Qt
\ingroup tools
*/

View File

@ -19,13 +19,6 @@
/**
* \defgroup jkqtplotter JKQtPlotter: Qt based Scientific Plotter Class
*
* A Qt based plotter for 2D scientific graphs.
*/
/** \file jkqtplotter.h /** \file jkqtplotter.h
* \ingroup jkqtplotter * \ingroup jkqtplotter
* *
@ -60,7 +53,9 @@
#ifndef JKQTPLOTTER_H #ifndef JKQTPLOTTER_H
#define JKQTPLOTTER_H #define JKQTPLOTTER_H
/** \brief initialized Qt-ressources necessary for JKQtPlotter */ /** \brief initialized Qt-ressources necessary for JKQtPlotter
* \ingroup jkqtplotter
*/
LIB_EXPORT void initJKQtPlotterResources(); LIB_EXPORT void initJKQtPlotterResources();

View File

@ -19,13 +19,6 @@
/**
* \defgroup jkqtpopencvinterface OpenCV Interfaceing Tools
* \ingroup jkqtplotter
*
* Classes and functions in this group allow JKQtPlotter to directly work with <a href="https://opencv.org/">OpenCV</a> data structures.
*/
/** \file jkqtpopencvinterface.h /** \file jkqtpopencvinterface.h
* \ingroup jkqtpopencvinterface * \ingroup jkqtpopencvinterface
*/ */
@ -39,6 +32,7 @@
/** \brief add one external column to the datastore. It will be filled with the contents of vector \a data. /** \brief add one external column to the datastore. It will be filled with the contents of vector \a data.
* \ingroup jkqtpopencvinterface
* *
* \param datastore the datastore to which the <a href="https://opencv.org/">OpenCV</a> matrix shuld be added (as column) * \param datastore the datastore to which the <a href="https://opencv.org/">OpenCV</a> matrix shuld be added (as column)
* \param mat <a href="https://docs.opencv.org/master/d3/d63/classcv_1_1Mat.html">OpenCV-matrix</a> to store here * \param mat <a href="https://docs.opencv.org/master/d3/d63/classcv_1_1Mat.html">OpenCV-matrix</a> to store here
@ -56,6 +50,9 @@ inline size_t JKQTPcopyCvMatToColumn(JKQTPdatastore* datastore, const cv::Mat& m
//////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////
namespace JKQTPdatastore_Helper { namespace JKQTPdatastore_Helper {
/** \brief internal helper function for JKQTPcopyCvMatToColumn()
* \ingroup jkqtpopencvinterface
* \internal */
template <typename TPixel> template <typename TPixel>
inline void copyDataFromMat(double* data, const cv::Mat& mat, int channel) { inline void copyDataFromMat(double* data, const cv::Mat& mat, int channel) {
size_t r=0; size_t r=0;

View File

@ -20,7 +20,7 @@
/** \file jkqtpcomboboxes.cpp /** \file jkqtpcomboboxes.cpp
* \ingroup jkqtpbaseplotter * \ingroup jkqtplotter
*/ */
#include "jkqtplottergui/jkqtpcomboboxes.h" #include "jkqtplottergui/jkqtpcomboboxes.h"

View File

@ -19,15 +19,8 @@
/**
* \defgroup jkqtpcomboboxes diverse comboboxes for properties of JKQtPlotter
* \ingroup jkqtpbaseplotter
*
*
*/
/** \file jkqtpcomboboxes.h /** \file jkqtpcomboboxes.h
* \ingroup jkqtpbaseplotter * \ingroup jkqtplotter
*/ */
#ifndef JKQTPCOMBOBOXES_H #ifndef JKQTPCOMBOBOXES_H
@ -43,8 +36,9 @@
/*! \brief class to plot an image from an 2-dimensional array of values /*! \brief class to plot an image from an 2-dimensional array of values
\ingroup jkqtplotter_imagelots \ingroup jkqtpcomboboxes
\image html JKQTPMathImageColorPaletteComboBox.png
*/ */
class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox { class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -65,7 +59,7 @@ class LIB_EXPORT JKQTPMathImageColorPaletteComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPCAdrawMode /*! \brief a QComboBox which shows JKQTPCAdrawMode
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPCAdrawModeComboBox: public QComboBox { class LIB_EXPORT JKQTPCAdrawModeComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -81,7 +75,7 @@ class LIB_EXPORT JKQTPCAdrawModeComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPCAlabelType /*! \brief a QComboBox which shows JKQTPCAlabelType
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPCAlabelTypeComboBox: public QComboBox { class LIB_EXPORT JKQTPCAlabelTypeComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -96,7 +90,7 @@ class LIB_EXPORT JKQTPCAlabelTypeComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPlabelPosition /*! \brief a QComboBox which shows JKQTPlabelPosition
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPlabelPositionComboBox: public QComboBox { class LIB_EXPORT JKQTPlabelPositionComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -112,7 +106,9 @@ class LIB_EXPORT JKQTPlabelPositionComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPkeyPosition /*! \brief a QComboBox which shows JKQTPkeyPosition
\ingroup jkqtptools \ingroup jkqtpcomboboxes
\image html JKQTPkeyPositionComboBox.png
*/ */
class LIB_EXPORT JKQTPkeyPositionComboBox: public QComboBox { class LIB_EXPORT JKQTPkeyPositionComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -132,7 +128,7 @@ class LIB_EXPORT JKQTPkeyPositionComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPkeyPosition /*! \brief a QComboBox which shows JKQTPkeyPosition
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPkeyLayoutComboBox: public QComboBox { class LIB_EXPORT JKQTPkeyLayoutComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -151,7 +147,9 @@ class LIB_EXPORT JKQTPkeyLayoutComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPerrorPlotstyle /*! \brief a QComboBox which shows JKQTPerrorPlotstyle
\ingroup jkqtptools \ingroup jkqtpcomboboxes
\image html JKQTPerrorPlotstyleComboBox.png
*/ */
class LIB_EXPORT JKQTPerrorPlotstyleComboBox: public QComboBox { class LIB_EXPORT JKQTPerrorPlotstyleComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -168,7 +166,9 @@ class LIB_EXPORT JKQTPerrorPlotstyleComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPgraphSymbols /*! \brief a QComboBox which shows JKQTPgraphSymbols
\ingroup jkqtptools \ingroup jkqtpcomboboxes
\image html JKQTPSymbolComboBox.png
*/ */
class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox { class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -184,7 +184,7 @@ class LIB_EXPORT JKQTPSymbolComboBox: public QComboBox {
/*! \brief a QComboBox to select whether a line, symbols or both should be displayed /*! \brief a QComboBox to select whether a line, symbols or both should be displayed
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox { class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -205,7 +205,7 @@ class LIB_EXPORT JKQTPLinePlotStyleComboBox: public QComboBox {
/*! \brief a QComboBox to select whether a line, symbols or both should be displayed, in addition to JKQTPLinePlotStyleComboBox this may also have different symbol sizes! /*! \brief a QComboBox to select whether a line, symbols or both should be displayed, in addition to JKQTPLinePlotStyleComboBox this may also have different symbol sizes!
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox { class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -235,7 +235,7 @@ class LIB_EXPORT JKQTPLinePlotStyleWithSymbolSizeComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPstepType /*! \brief a QComboBox which shows JKQTPstepType
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPstepTypeComboBox: public QComboBox { class LIB_EXPORT JKQTPstepTypeComboBox: public QComboBox {
Q_OBJECT Q_OBJECT
@ -251,7 +251,7 @@ class LIB_EXPORT JKQTPstepTypeComboBox: public QComboBox {
/*! \brief a QComboBox which shows JKQTPMathImageBase::ModifierMode /*! \brief a QComboBox which shows JKQTPMathImageBase::ModifierMode
\ingroup jkqtptools \ingroup jkqtpcomboboxes
*/ */
class LIB_EXPORT JKQTPImageModifierModeComboBox: public QComboBox { class LIB_EXPORT JKQTPImageModifierModeComboBox: public QComboBox {
Q_OBJECT Q_OBJECT

View File

@ -18,13 +18,8 @@
*/ */
/**
* \defgroup jkqtptools Tool Functions and Definitions
* \ingroup jkqtplotter
*/
/** \file jkqtpenhancedspinboxes.h /** \file jkqtpenhancedspinboxes.h
* \ingroup jkqtptools * \ingroup jkqtptools_qtwidgets
*/ */
@ -36,7 +31,7 @@
#include <QDoubleSpinBox> #include <QDoubleSpinBox>
/*! \brief enhanced QDoubleSpinBox /*! \brief enhanced QDoubleSpinBox
\ingroup jkqtptools \ingroup jkqtptools_qtwidgets
*/ */
class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox { class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox {
@ -53,7 +48,7 @@ class LIB_EXPORT JKQTPEnhancedDoubleSpinBox : public QDoubleSpinBox {
/*! \brief enhanced QDoubleSpinBox /*! \brief enhanced QDoubleSpinBox
\ingroup jkqtptools \ingroup jkqtptools_qtwidgets
*/ */
class LIB_EXPORT JKQTPEnhancedSpinBox : public QSpinBox { class LIB_EXPORT JKQTPEnhancedSpinBox : public QSpinBox {

View File

@ -18,13 +18,8 @@
*/ */
/**
* \defgroup jkqtptools Tool Functions and Definitions
* \ingroup jkqtplotter
*/
/** \file jkqtpenhancedtableview.h /** \file jkqtpenhancedtableview.h
* \ingroup jkqtptools * \ingroup jkqtptools_qtwidgets
*/ */
@ -35,7 +30,7 @@
#include <QPrinter> #include <QPrinter>
/*! \brief this class extends the QTableView /*! \brief this class extends the QTableView
\ingroup jkqtptools \ingroup jkqtptools_qtwidgets
This enhanced table view adds some functionality to the Qt class: This enhanced table view adds some functionality to the Qt class:
- return HTML code that describes the table - return HTML code that describes the table

View File

@ -20,7 +20,7 @@
/** \file jkqtpgraphsmodel.cpp /** \file jkqtpgraphsmodel.cpp
* \ingroup jkqtpbaseplotter * \ingroup jkqtplotter
*/ */
#include "jkqtplottergui/jkqtpgraphsmodel.h" #include "jkqtplottergui/jkqtpgraphsmodel.h"

View File

@ -19,15 +19,8 @@
/**
* \defgroup jkqtpgraphsmodel data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible)
* \ingroup jkqtpbaseplotter
*
*
*/
/** \file jkqtpgraphsmodel.h /** \file jkqtpgraphsmodel.h
* \ingroup jkqtpbaseplotter * \ingroup jkqtpgraphsmodel
*/ */
#ifndef jkqtpgraphsmodel_H #ifndef jkqtpgraphsmodel_H
@ -39,7 +32,11 @@
#include <QAbstractTableModel> #include <QAbstractTableModel>
class JKQtBasePlotter; // forward class JKQtBasePlotter; // forward
/** \brief data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible) */ /** \brief data model with all plots ina JKQtBasePlotter (+ allows to switch them visible/invisible)
* \ingroup jkqtpgraphsmodel
*
* \image html JKQTPgraphsModel.png
*/
class JKQTPgraphsModel : public QAbstractTableModel class JKQTPgraphsModel : public QAbstractTableModel
{ {
Q_OBJECT Q_OBJECT

View File

@ -20,7 +20,7 @@
/** \file jkvanishqtoolbar.cpp /** \file jkvanishqtoolbar.cpp
* \ingroup jkqtpbaseplotter * \ingroup jkqtplotter
*/ */
#include "jkqtplottergui/jkvanishqtoolbar.h" #include "jkqtplottergui/jkvanishqtoolbar.h"

View File

@ -20,7 +20,7 @@
/** \file jkvanishqtoolbar.h /** \file jkvanishqtoolbar.h
* \ingroup jkqtpbaseplotter * \ingroup jkqtptools_qtwidgets
*/ */
#ifndef jkvanishqtoolbar_H #ifndef jkvanishqtoolbar_H
@ -30,7 +30,7 @@
#include <QToolBar> #include <QToolBar>
/** \brief a modified a href="http://doc.trolltech.com/4.5/qtoolbar.html">QToolBar</a> which vanishes when the mouse leaves the toolbar. /** \brief a modified a href="http://doc.trolltech.com/4.5/qtoolbar.html">QToolBar</a> which vanishes when the mouse leaves the toolbar.
* \ingroup jkqtptools * \ingroup jkqtptools_qtwidgets
*/ */
class LIB_EXPORT JKVanishQToolBar: public QToolBar { class LIB_EXPORT JKVanishQToolBar: public QToolBar {
Q_OBJECT Q_OBJECT

Some files were not shown because too many files have changed in this diff Show More