wxChartDir provides components for the integration and use of the commercial C++ library ChartDirector, a universal chart component developed by Advanced Software Engineering Ltd, in wxWidgets based applications.
ChartDirector is an extremely versatile, stable and affordable charting library, that supports many different chart types like pie, donut, bar, line, spline, step line, trend line, curve-fitting, inter-line filling, area, band, scatter, bubble, floating box, box-whisker, waterfall, contour, heat map, surface, vector, finance, gantt, radar, polar, rose, pyramid, cone, funnel and more. Charts can be created as vector graphics in PDF and SVG and as raster graphics in PNG, JPG, GIF and BMP. Please visit the ChartDirector gallery to get an impression of the capabilities of this library.
wxChartDir includes the following charting controls:
wxChartViewer - a wxWidgets control that inherits from wxPanel and ViewPortManager. A viewport can be imagined as a rectangular window of an underlying rectangular surface.
wxViewPortControl - a wxWidgets control that inherits from wxPanel and ViewPortControlBase. A viewport control is a user interface element to let the user visualize and manipulate the viewport managed by the ViewPortManager.
Additionally, wxChartDir contains wxWidgets based versions of all sample applications coming with ChartDirector and of the extra samples available from the ChartDirector website. ChartDirector itself contains versions for QT and MFC.
Finally, a C++ command-line application is included that allows to generate many sample charts
in a single run (see folder
All relevant parts of the ChartDirector trial version for C++ (header files, link libraries, and DLLs) are included in the wxChartDir distribution. This allows to compile and test the sample applications without having to download and install ChartDirector separately.
The ChartDirector trial version will produce yellow banner messages at the bottom of the chart images generated by it. To eliminate these banners you need to purchase a commercial ChartDirector license.
Table of Contents
- 2.0.1 - March 2023
- Workaround for issue #16
- 2.0.0 - July 2021
- Update to ChartDirector 7.0
- Enhance drawing of selection box
- Add support for DPI awareness
- Remove support for wxWidgets versions 2.x
- 1.0.0 - July 2018
- First public release
The build files for Windows platforms are generated by a (slightly modified) version of Premake 5 (based on Premake 5.0 alpha 15).
Ready to use project files are provided for Visual C++ 2015, 2017, and 2019. Project files for prior versions of Visual C++ can be generated with Premake. Additionally, GNU Makefiles are provided supporting for example MinGW-w64.
For Visual Studio 2010+ solutions it is possible to customize the build
by creating a
wx_local.props file in the build directory which is used,
if it exists, by the projects. The settings in that file override the
default values for the properties. The typical way to make the file is
wx_local.props and then edit locally.
For GNU Makefiles the file
config.gcc serves the same purpose as the
file wx_setup.props for Visual C++ projects.
The customization files
config.gcc allow to
customize certain settings like for example the version number and the
root directory of the wxWidgets library.
When building on Win32 or Win64, you can use the makefiles or one of the
Microsoft Visual Studio solution files in the
For Visual C++ the debugging properties are set up in such a way that
debugging the sample applications should work right out of the box. For
release builds you may need to copy the ChartDirector DLL and -
depending on the build - the wxChartDir DLL or add the appropriate
lib folder paths to the Windows search path (PATH environment variable).
wxGTK / wxMac
When building on an autoconf-based system (like Linux/GNU-based systems), the first step is to recreate the configure script from the root directory of the component doing:
Thereafter you should create a
mkdir build-gtk [or any other suitable name] cd build-gtk ../configure [here you should use the same flags you used to configure wxWidgets] make
Optionally, the directory where the ChartDirector binaries are installed can be
specified with the configure option
--with-cddir=PATH. If the option is not given
the binaries coming with wxChartDir will be used.
../configure --help for more info.
In principle, the autoconf-based system also supports a
make install target which
builds the library and then copies the headers of the component to
/usr/local/include and the lib to
/usr/local/lib by default (you can use
pkg-config --cflags and
--libs to find the required compilation and
linking flags in general). However, at the moment this option should not be used,
since it is not yet decided how to resolve the dependency on ChartDirector.
The sample applications will be built in subdirectories
the build directory where
configure was executed. Each sample application is
located in a separate subdirectory and should be executed from its own subdirectory,
so that it can locate required graphics files. An exception to this rule is the main
wxdemo: the application should be invoked from the subdirectory
wxdemo/wxdemo, so that the required graphics files, which reside in the subdirectories
icons, can be located by the application..
An overview about wxChartDir can be found here.
The doxygen-generated documentation for this component is available online here.
Extensive documentation for ChartDirector can be found on the Advanced Software Engineering Ltd website.
wxChartDir is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 or later as published by the Free Software Foundation, with the wxWindows 3.1 exception.