CustomMatPlot

screenshot of CustomMatPlot

Plot library for the JUCE Framework

Overview

CustomMatPlot (CMP) is a plotting library for C++ that provides an API for embedding plot components into applications using the JUCE framework. It offers a customizable plot component that can be easily integrated and tailored to meet specific needs. CMP implements many of the same features found in Matplotlib, allowing users to create interactive and visually appealing plots in their applications.

Features

  • Axis scaling: Supports both linear and logarithmic scaling for the plot axes.
  • Customizable view: The lookandfeel class included with CMP allows for easy customization of the plot's appearance.
  • Legend: Easily add a legend to the plot to provide context for the displayed data.
  • Zoom: Users can zoom in and out of the plot area to focus on specific regions of the data.
  • Trace: Add trace points to the graph lines with a double-click, and remove them by double-clicking on an existing trace point.
  • Fill area between two graphs: Users can fill in the area between two graph lines for visual emphasis.
  • Axis labels: Add labels to the x and y axes for better data interpretation.
  • Ticks and Tick-labels: Customize the tick marks and labels on the axes for better readability.
  • Grids and tiny grids: Display grids and tiny grids to provide a visual reference for the data.
  • Markers: Choose from a variety of markers (such as star, triangles, and squares) to indicate data points.
  • Custom stroke path: Set a custom stroke path for the graph lines to achieve desired visual effects.
  • Callback for every visible data point: Implement a callback function that triggers for every visible data point in the plot.
  • Callback for trace points: Set a callback function that triggers when a trace point is added or removed.
  • Two different downsampler levels: Choose from two downsampler levels to optimize performance based on data complexity.
  • Move points in the graph with the mouse: Users can interactively move data points within the graph using mouse controls.
  • Customizable user input mapping: Map user inputs to specific plot actions by overriding the lookandfeel class.

Summary

CustomMatPlot (CMP) is a powerful plotting library for C++ that integrates with the JUCE framework. It offers a wide range of features, from customizable plotting components to interactive data manipulation. With support for various graph attributes and user inputs, CMP provides developers with the tools to create visually appealing and interactive plots in their applications.