Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

Applications could crash on invoking the ChartDirector method setOutputOptions due to a bug in the ChartDirector code. As a workaround a trailing semicolon is added to the options string.

The included ChartDirector library will be updated as soon as an update is available.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
May 18, 2022 22:14
March 13, 2023 09:57

wxChartDir Logo wxChartDir - ChartDirector based charting components for wxWidgets applications

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:

  1. wxChartViewer - a wxWidgets control that inherits from wxPanel and ViewPortManager. A viewport can be imagined as a rectangular window of an underlying rectangular surface.

  2. 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 cppdemo).

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

Version history

  • 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 to copy wx_setup.props to 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 wx_setup.props resp. 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 build folder.

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]

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.

Type ../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 cppdemo and wxdemo of 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 sample application wxdemo: the application should be invoked from the subdirectory wxdemo/wxdemo, so that the required graphics files, which reside in the subdirectories images and 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.

wxChartDir depends on the commercial C++ library ChartDirector. The license terms for ChartDirector can be found in the file CHARTDIRECTOR-LICENSE.TXT.