Plots.jl – A User Extendable Plotting API for the Julia Programming Language

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Autoren

  • Simon Christ
  • Daniel Schwabeneder
  • Christopher Rackauckas
  • Michael Borregaard
  • Thomas Breloff

Organisationseinheiten

Externe Organisationen

  • Technische Universität Wien (TUW)
  • Massachusetts Institute of Technology (MIT)
  • University of Copenhagen
  • Center for Macroecology, Evolution and Climate (CMEC)
  • Headlands Technologies LLC
Forschungs-netzwerk anzeigen

Details

Titel in ÜbersetzungPlots.jl – Eine erweiterbare plotting API für die Programmiersprache Julia
OriginalspracheEnglisch
Aufsatznummer5
Seitenumfang5
FachzeitschriftJournal of open research software
Jahrgang11
Ausgabenummer1
PublikationsstatusVeröffentlicht - 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.

ASJC Scopus Sachgebiete

Zitieren

Plots.jl – A User Extendable Plotting API for the Julia Programming Language. / Christ, Simon; Schwabeneder, Daniel; Rackauckas, Christopher et al.
in: Journal of open research software, Jahrgang 11, Nr. 1, 5, 14.02.2023.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Christ, S, Schwabeneder, D, Rackauckas, C, Borregaard, M & Breloff, T 2023, 'Plots.jl – A User Extendable Plotting API for the Julia Programming Language', Journal of open research software, Jg. 11, Nr. 1, 5. https://doi.org/10.5334/jors.431
Christ, S., Schwabeneder, D., Rackauckas, C., Borregaard, M., & Breloff, T. (2023). Plots.jl – A User Extendable Plotting API for the Julia Programming Language. Journal of open research software, 11(1), Artikel 5. https://doi.org/10.5334/jors.431
Christ S, Schwabeneder D, Rackauckas C, Borregaard M, Breloff T. Plots.jl – A User Extendable Plotting API for the Julia Programming Language. Journal of open research software. 2023 Feb 14;11(1):5. doi: 10.5334/jors.431
Christ, Simon ; Schwabeneder, Daniel ; Rackauckas, Christopher et al. / Plots.jl – A User Extendable Plotting API for the Julia Programming Language. in: Journal of open research software. 2023 ; Jahrgang 11, Nr. 1.
Download
@article{4babe6c22d0e4ef5b98d29d9a8075bf1,
title = "Plots.jl – A User Extendable Plotting API for the Julia Programming Language",
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",
author = "Simon Christ and Daniel Schwabeneder and Christopher Rackauckas and Michael Borregaard and Thomas Breloff",
note = "Funding Information: Michael K. Borregaard was supported by grant number CF19-0695 from the Carlsberg Foundation.",
year = "2023",
month = feb,
day = "14",
doi = "10.5334/jors.431",
language = "English",
volume = "11",
number = "1",

}

Download

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 -

Von denselben Autoren