_images/xplot.svg

The C++ backend for bqplot.

Introduction

xplot is a C++ implementation of backend for the bqplot 2-D plotting library.

xplot and its dependencies require a modern C++ compiler supporting C++14. The following C++ compilers are supported:

  • On Windows platforms, Visual C++ 2015 Update 2, or more recent

  • On Unix platforms, gcc 4.9 or a recent version of Clang

Licensing

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.

Installation

xplot is a header-only library but depends on some traditional libraries that need to be installed. On Linux, installation of the dependencies can be done through the package manager, anaconda or manual compilation.

_images/conda.svg

Using the conda package

A package for xplot is available on the conda package manager. The package will also pull all the dependencies.

conda install -c QuantStack xplot
_images/cmake.svg

From source with cmake

You can also install xplot from source with cmake. On Unix platforms, from the source directory: However, you need to make sure to have the required libraries available on your machine.

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/prefix ..
make install

On Windows platforms, from the source directory:

mkdir build
cd build
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=/path/to/prefix ..
nmake
nmake install

Releasing xplot

Releasing a new version

From the master branch of xplot

  • Make sure that you are in sync with the master branch of the upstream remote.

  • In file xplot_config.hpp, set the macros for XPLOT_VERSION_MAJOR, XPLOT_VERSION_MINOR and XPLOT_VERSION_PATCH to the desired values.

  • Update the readme file w.r.t. dependencies on xplot

  • Stage the changes (git add), commit the changes (git commit) and add a tag of the form Major.minor.patch. It is important to not add any other content to the tag name.

  • Push the new commit and tag to the main repository. (git push, and git push --tags)