From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) KDE
Written in C++ (Qt)
Operating system Unix-like (BSDs, Linux, OS X), Windows
Type Mathematical software
License GNU GPL

KmPlot is a mathematical function plotter for the KDE Desktop. It has a powerful built-in parser. The graphs can be colorized and the view is scalable, so that you are able to zoom to the level you need. Users can plot different functions simultaneously and combine them to build new functions. It also provides some numerical and visual features like:

  • Filling and calculating the area between the plot and the first axis
  • Finding maximum and minimum values
  • Changing function parameters dynamically
  • Plotting derivatives and integral functions.


KmPlot works with several different types of functions, which can be written in function form or as an equation:

  • Cartesian plots can either be written as e.g. ‘y = xˆ2’, where x has to be used as the variable; or as e.g. ‘f(a) = aˆ2’, where the name of the variable is arbitrary.
  • Parametric plots are similar to Cartesian plots. The x and y coordinates can be entered as equations in t, e.g. ‘x = sin(t)’, ‘y = cos(t)’, or as functions, e.g. ‘f_x(s) = sin(s)’, ‘f_y(s) = cos(s)’.
  • Polar plots are also similar to Cartesian plots. They can be either be entered as an equation in j, e.g. ‘r = j’, or as a function, e.g. ‘f(x) = x’.
  • For implicit plots, the name of the function is entered separately from the expression relating the x and y coordinates. If the x and y variables are specified via the function name (by entering e.g.‘f(a,b)’ as the function name), then these variables will be used. Otherwise, the letters x and y will be used for the variables.
  • Explicit differential plots are differential equations whereby the highest derivative is given in terms of the lower derivatives. Differentiation is denoted by a prime (’). In function form, the equation will look like ‘f”(x) = f’f’. In equation form, it will look like ‘y” = y’ y’. Note that in both cases, the ‘(x)’ part is not added to the lower order differential terms (so you would enter ‘f’(x) = f’ and not ‘f’(x) = f(x)’).


  • Klaus-Dieter Möller - Original Author
  • Matthias Meßmer - GUI
  • Fredrik Edemar - Various improvements
  • David Saxton - Porting to Qt 4, UI improvements, features


External links[edit]