Cocoa plotting framework for macOS, iOS, and tvOS.
Core Plot is a 2D plotting framework for macOS, iOS, and tvOS. It is highly customizable and capable of drawing many types of plots. See the Example Graphs wiki page and the example applications for examples of some of its capabilities.
See the High Level Design Overview wiki for an overview of Core Plot's architecture and the Using Core Plot in an Application wiki for information on how to use Core Plot in your own application.
Documentation of the Core Plot API and high-level architecture can be found in the following places:
- Change log
- API documentation for Mac
- API documentation for iOS and tvOS
- API documentation built with Doxygen and installed locally in Xcode (see the instructions in the READMEs folder for details)
- Project Wiki on GitHub
- Documentation folder in the code repository
- Core Plot Google Group
- Stackoverflow.com core-plot tag
Core Plot is an open source project hosted on GitHub. There are two code repositories under the main project:
-
core-plot: This is main code repository with the framework and all examples. This is where you will find the release packages, wiki pages, and issue tracker.
-
core-plot.github.io: This is the HTML API documentation. You can view the pages online at http://core-plot.github.io.
Everyone has a their own preferred coding style, and no one way can be considered right. Nonetheless, in a project like Core Plot, with many developers contributing, it is worthwhile defining a set of basic coding standards to prevent a mishmash of different styles which can become frustrating when navigating the code base. See the file CONTRIBUTING.md found in the .github directory of the project source for specific guidelines.
Core Plot includes a script to run Uncrustify on the source code to standardize the formatting. All source code will be formatted with this tool before being committed to the Core Plot repository.
Core Plot is intended to be applied in scientific, financial, and other domains where correctness is paramount. In order to assure the quality of the framework, unit testing is integrated. Good test coverage protects developers from introducing accidental regressions, and helps them to experiment and refactor without breaking existing code. See the unit testing wiki page for instructions on how to build unit tests for any new code you add to the project.