情节。Julia编程语言的用户可扩展绘图API

Q1 Social Sciences Journal of Open Research Software Pub Date : 2023-01-01 DOI:10.5334/jors.431
Simon Christ, Daniel Schwabeneder, Christopher Rackauckas, Michael Krabbe Borregaard, Thomas Breloff
{"title":"情节。Julia编程语言的用户可扩展绘图API","authors":"Simon Christ, Daniel Schwabeneder, Christopher Rackauckas, Michael Krabbe Borregaard, Thomas Breloff","doi":"10.5334/jors.431","DOIUrl":null,"url":null,"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 L<small>A</small>T<small>E</small>X integration or be ideal for creating dashboards on the web. The aim of <tt>Plots.jl</tt> 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 <em>backend</em>) 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 <em>recipe</em> 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 <tt>Plots.jl</tt> package. This design supports a modular ecosystem structure for plotting and yields a high code reuse potential across the entire Julia package ecosystem. <tt>Plots.jl</tt> is publicly available at <a href=\"https://github.com/JuliaPlots/Plots.jl\" target=\"_blank\">https://github.com/JuliaPlots/Plots.jl</a>.","PeriodicalId":37323,"journal":{"name":"Journal of Open Research Software","volume":"38 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Plots.jl – A User Extendable Plotting API for the Julia Programming Language\",\"authors\":\"Simon Christ, Daniel Schwabeneder, Christopher Rackauckas, Michael Krabbe Borregaard, Thomas Breloff\",\"doi\":\"10.5334/jors.431\",\"DOIUrl\":null,\"url\":null,\"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 L<small>A</small>T<small>E</small>X integration or be ideal for creating dashboards on the web. The aim of <tt>Plots.jl</tt> 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 <em>backend</em>) 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 <em>recipe</em> 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 <tt>Plots.jl</tt> package. This design supports a modular ecosystem structure for plotting and yields a high code reuse potential across the entire Julia package ecosystem. <tt>Plots.jl</tt> is publicly available at <a href=\\\"https://github.com/JuliaPlots/Plots.jl\\\" target=\\\"_blank\\\">https://github.com/JuliaPlots/Plots.jl</a>.\",\"PeriodicalId\":37323,\"journal\":{\"name\":\"Journal of Open Research Software\",\"volume\":\"38 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Open Research Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5334/jors.431\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"Social Sciences\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Open Research Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5334/jors.431","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"Social Sciences","Score":null,"Total":0}
引用次数: 6

摘要

有许多优秀的绘图库。每一个都擅长于特定的用例:一个特别适合于创建用于发布的可打印2D图形,另一个用于生成交互式3D图形,而第三个可能具有出色的LATEX集成,或者是在web上创建仪表板的理想选择。情节的目的。jl的目的是使用户能够使用相同的语法与一系列不同的绘图库进行交互,从而可以更改执行实际绘图的库(后端),而无需修改创建内容的代码,也无需学习多个应用程序编程接口(API)。这是通过将绘图规范与图形后端实现分离来实现的。该绘图规范可通过配方系统进行扩展,该系统允许软件包作者和用户创建新类型的绘图,以及指定如何绘制任何类型的对象(例如统计模型,地图,系统发育树或微分方程系统的解),而不依赖于绘图。杰包。这种设计支持用于绘图的模块化生态系统结构,并在整个Julia包生态系统中产生了很高的代码重用潜力。情节。jl可在https://github.com/JuliaPlots/Plots.jl公开获取。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Plots.jl – A User Extendable Plotting API for the Julia Programming Language
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Journal of Open Research Software
Journal of Open Research Software Social Sciences-Library and Information Sciences
CiteScore
6.50
自引率
0.00%
发文量
7
审稿时长
21 weeks
期刊最新文献
Taskfarm: A Client/Server Framework for Supporting Massive Embarrassingly Parallel Workloads GTdownloader: A Python Package to Download, Visualize, and Export Georeferenced Tweets From the Twitter API A NetHack Learning Environment Language Wrapper for Autonomous Agents Automated Discovery of Container Executables Fan-Slicer: A Pycuda Package for Fast Reslicing of Ultrasound Shaped Planes
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1