Kst - Visualize your data

Three kst screenshots

Distinguishing features

Kst is the fastest real-time large-dataset viewing and plotting tool available (you may be interested in some benchmarks) and has built-in data analysis functionality.
Kst is very user-friendly (both the community and the program itself!).
Kst contains many powerful built-in features and is expandable with plugins and extensions (see developer information in the "Resources" section).
Kst is licensed under the GPL, and is as such freely available for anyone. What's more, as of 2.0.x it is available on all of the following platforms: Microsoft Windows, Linux, Mac OSX. Note that KDE libraries are an optional dependency (i.e. you can run Kst without KDE, but you get additional features when running on a platform with KDE). See the "Downloads" section for pre-compiled executables or the sources.

Features of Kst include:

  • Robust plotting of live "streaming" data.
  • Powerful keyboard and mouse plot manipulation.
  • Powerful plugins and extensions support.
  • Large selection of built-in plotting and data manipulation functions, such as histograms, equations, and power spectra.
  • A number of unique tools which dramatically improve efficiency, such as the "Data Wizard" for fast and easy data import, the "Edit Multiple" mode to bulk-edit most objects, or the "Change Data File" tool to compare results from different experiments
  • Color mapping and contour mapping capabilities for three-dimensional data, as well as matrix and image support.
  • Monitoring of events and notifications support.
  • Built-in filtering and curve fitting capabilities.
  • Convenient command-line interface.
  • Powerful graphical user interface with non-modal dialogs for an optimized workflow.
  • Support for several popular data formats.
  • Multiple tabs.
  • Extended annotation objects similar to vector graphics applications.
  • High-quality export to bitmap or vector formats.
  • Fully scriptable in python (beta available under linux).

A roadmap for future features and releases is available under the "Resources" link at the top of the page.

About Kst 1 and Kst 2

Currently Kst 1.x and Kst 2.x are stable releases. Kst 1 is no longer being actively developed, apart from occasional bug fixes. Kst 1 has some features that Kst 2 does not yet have, in particular dcop bindings and scripting, but on the other hand Kst 2 offers some nice improvements over Kst 1 such as shared axes and extended support for metadata.
If you are new to Kst, you should probably start with Kst 2, unless you need very specific features not yet supported - or are working with people using Kst 1, as presently Kst 2 cannot yet load Kst 1.x files.

Generally speaking, a good place to ask for advice is the mailing list.

File formats

Kst 1 supports the following formats: ASCII, Dirfile, CDF, netCDF, piolib, FITS, HEALPix, QImage-compatible image types (jpg, png, etc)

As of May 2013, Kst 2 supports : ASCII, Dirfile/Getdata, netCDF including metadata, CFitsIO, QImage-compatible image types and Matlab's .mat format with support from the matio library.
Support for the other formats handled by Kst 1 is fairly easy to reactivate, and a couple of new ones are planned (e.g. Origin files). Generally speaking, it is easy to add support for a new format, so if your favorite file type is not supported, contact us on the mailing list and we'll help you get started.

Plugin architecture

Kst is based on a plugin architecture:

  • Data sources are plugins which provide support for new file types
  • Plugins can easily be added for any type of operation, including fit and filter plugins if you want to develop your own to extend the large number of GSL-based plugins already distributed with Kst

It does not take a very experienced programmer to customize Kst to your needs.

Python Scripting

Kst can be scripted using python. In particular:

  • Python can be used to set up sessions instead of the UI
  • numpy arrays can be transfered into and out of kst, so kst can be easily used along with python.

To use python scripting, you will need the very latest version of kst2, and the corresponding pykst.tgz. To date, pykst has only been tested on linux.

kst python documentation is available here.

Global navigation links