From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Repository Edit this at Wikidata
Written inC++ (Qt)
Operating systemUnix-like (BSDs, Linux, OS X), Windows
TypeMathematical software
LicenseGNU 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 be written either 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 entered either 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 one 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]