Details
Translated title of the contribution | Plots.jl – Eine erweiterbare plotting API für die Programmiersprache Julia |
---|---|
Original language | English |
Article number | 5 |
Number of pages | 5 |
Journal | Journal of open research software |
Volume | 11 |
Issue number | 1 |
Publication status | Published - 14 Feb 2023 |
Abstract
There are many excellent plotting libraries. Each excels at a specific use case: one is particularly suited for creating printable 2D figures for publication, another for generating interactive 3D graphics, while a third may have excellent LaTeX integration or be ideal for creating dashboards on the web. The aim of Plots.jl is to enable the user to use the same syntax to interact with a range of different plotting libraries, making it possible to change the library that does the actual plotting (the backend) without needing to touch the code that creates the content – and without having to learn multiple application programming interfaces (API). This is achieved by separating the specification of the plot from the implementation of the graphical backend. This plot specification is extendable by a recipe system that allows package authors and users to create new types of plots, as well as to specify how to plot any type of object (e.g. a statistical model, a map, a phylogenetic tree or the solution to a system of differential equations) without depending on the Plots.jl package. This design supports a modular ecosystem structure for plotting and yields a high code reuse potential across the entire Julia package ecosystem. Plots.jl is publicly available at https://github.com/JuliaPlots/Plots.jl.
Keywords
- julia, julia-language, plotting, user-extendable, visualization
ASJC Scopus subject areas
- Computer Science(all)
- Software
- Computer Science(all)
- Information Systems
- Social Sciences(all)
- Library and Information Sciences
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
In: Journal of open research software, Vol. 11, No. 1, 5, 14.02.2023.
Research output: Contribution to journal › Article › Research › peer review
}
TY - JOUR
T1 - Plots.jl – A User Extendable Plotting API for the Julia Programming Language
AU - Christ, Simon
AU - Schwabeneder, Daniel
AU - Rackauckas, Christopher
AU - Borregaard, Michael
AU - Breloff, Thomas
N1 - Funding Information: Michael K. Borregaard was supported by grant number CF19-0695 from the Carlsberg Foundation.
PY - 2023/2/14
Y1 - 2023/2/14
N2 - There are many excellent plotting libraries. Each excels at a specific use case: one is particularly suited for creating printable 2D figures for publication, another for generating interactive 3D graphics, while a third may have excellent LaTeX integration or be ideal for creating dashboards on the web. The aim of Plots.jl is to enable the user to use the same syntax to interact with a range of different plotting libraries, making it possible to change the library that does the actual plotting (the backend) without needing to touch the code that creates the content – and without having to learn multiple application programming interfaces (API). This is achieved by separating the specification of the plot from the implementation of the graphical backend. This plot specification is extendable by a recipe system that allows package authors and users to create new types of plots, as well as to specify how to plot any type of object (e.g. a statistical model, a map, a phylogenetic tree or the solution to a system of differential equations) without depending on the Plots.jl package. This design supports a modular ecosystem structure for plotting and yields a high code reuse potential across the entire Julia package ecosystem. Plots.jl is publicly available at https://github.com/JuliaPlots/Plots.jl.
AB - There are many excellent plotting libraries. Each excels at a specific use case: one is particularly suited for creating printable 2D figures for publication, another for generating interactive 3D graphics, while a third may have excellent LaTeX integration or be ideal for creating dashboards on the web. The aim of Plots.jl is to enable the user to use the same syntax to interact with a range of different plotting libraries, making it possible to change the library that does the actual plotting (the backend) without needing to touch the code that creates the content – and without having to learn multiple application programming interfaces (API). This is achieved by separating the specification of the plot from the implementation of the graphical backend. This plot specification is extendable by a recipe system that allows package authors and users to create new types of plots, as well as to specify how to plot any type of object (e.g. a statistical model, a map, a phylogenetic tree or the solution to a system of differential equations) without depending on the Plots.jl package. This design supports a modular ecosystem structure for plotting and yields a high code reuse potential across the entire Julia package ecosystem. Plots.jl is publicly available at https://github.com/JuliaPlots/Plots.jl.
KW - julia
KW - julia-language
KW - plotting
KW - user-extendable
KW - visualization
UR - http://www.scopus.com/inward/record.url?scp=85159116632&partnerID=8YFLogxK
U2 - 10.5334/jors.431
DO - 10.5334/jors.431
M3 - Article
VL - 11
JO - Journal of open research software
JF - Journal of open research software
SN - 2049-9647
IS - 1
M1 - 5
ER -