Qt Plotting Widget QCustomPlot - Introduction (original) (raw)

QCustomPlot is a Qt C++ widget for plotting and data visualization. It has no further dependencies and is well documented. This plotting library focuses on making good looking, publication quality 2D plots, graphs and charts, as well as offering high performance for realtime visualization applications. Have a look at the Setting Up and the Basic Plotting tutorials to get started.
QCustomPlot can export to various formats such as vectorized PDF files and rasterized images like PNG, JPG and BMP. QCustomPlot is the solution for displaying of realtime data inside the application as well as producing high quality plots for other media.
![]() |
![]() |
|---|---|
| Default license GPL, feel free to use QCP in free software! | Please get in contact if you need a commercial license. |
Plot Screenshots
The screenshots below show what can be achieved with QCustomPlot in only a few lines. To view the code, click on the respective image. All codes are also available in the full package which can be found in the download section. Inside the package, navigate to the project examples/plots/plot-examples.pro.
![]()
A simple decaying sine function with fill and its exponential envelope in red
![]()
sinc function with data points, corresponding error bars and a 2-sigma confidence band
![]()
A demonstration of several scatter point styles
![]()
Demonstrating QCustomPlot's versatility in styling the plot
![]()
A 2D color map with color scale. Color scales can be dragged and zoomed just like axes
![]()
Pixmap scatter points and a multi-lined axis label, as well as a plot title at the top
![]()
Real time generated data and time bottom axis
![]()
Multiple plot styles with different key/value axes and pi tick labeling at top axis
![]()
Logarithmic axis scaling. Note correct display of the sine function crossing zero in negative infinity
![]()
A demonstration of several line styles
![]()
Random walks with fill and smart date ticks on the bottom axis
![]()
Parametric curves with translucent gradient filling
![]()
Three stacked bar charts with manual x axis tick labels
![]()
Statistical 5-parameter-box-plot with outliers
![]()
The interaction example showing the user selection of graphs
![]()
Using items like text labels, arrows and a bracket. This is actually animated, see examples project
![]()
QCP supports multiple axes on one axis rect side and multiple axis rects per plot widget
![]()
QCP showing financial and stock data with the typical Candlestick and OHLC charts

