Plotly.swift

Build Badge Release Badge Contributions Badge License Badge Lifecycle Badge Swift Badge

基于 Plotly 构建的 Swift 交互式图表库。

Plotly.swift 将专业的图形引入到新兴的 Swift 数值 计算生态系统。 图表可以在 Jupyter Notebook 中查看,也可以作为独立的 HTML 文件查看。 代码库没有外部依赖项,可以轻松地用于在复杂的调试会话中可视化数据。

示例

以下代码创建一个组合的折线图和条形图,并显示该图形。

Example

 
import Plotly
 
 
let x = 1...4
let y = [10, 15, 13, 17]
 
let scatter = Scatter(name: "Scatter", x: x, y: y)
let bar = Bar(name: "Bar", x: x, y: y)
 
let figure = Figure(data: [scatter, bar])
try figure.show()  // figure.display() in Jupyter notebook
 
 

您可以在 Examples/ 目录或 Showcase.ipynb Notebook 中找到超过 30 种内置图表类型的示例。 开始使用您自己的图表的最快方法是使用带有 Swift 内核的 Google Colab Notebook。 Colab Badge

安装

该项目使用 Swift Package Manager 进行分发、构建、运行和测试。 欢迎提交实现对其他打包或分发方法支持的 PR。

Jupyter Notebook

要在运行 Jupyter Swift kernel 的 Notebook 中创建并显示图形,请将以下启动代码复制并粘贴到第一个单元格。 然后使用 Figure.display() 方法将任何图形以交互方式嵌入到 Notebook 中。

%install '.package(url: "https://github.com/vojtamolda/Plotly.swift.git", .exact("0.5.0"))' Plotly
%include "EnableIPythonDisplay.swift"

项目依赖项

要在您自己的项目中捆绑该库并创建图表,请将以下依赖项添加到您的 Package.swift 清单中。 然后调用 Figure.show() 将在浏览器窗口中显示图形。

dependencies: [
    .package(url: "https://github.com/vojtamolda/Plotly.swift.git", .exact("0.5.0")),
]

文档

完整的参考用户文档可以在这里找到。 文本改编自 JavaScript,因此可能需要一些创造性的翻译才能适用。 特别是,所有最初 mashedtogether 的标识符都已 camelCased,以匹配 Swift 中的约定和用户期望。

该库的公共接口遵循 Swift API 设计指南。 主要设计目标是提供一个美观的 API,可以尽快显示数据的交互式图表,而不会影响更高级的用例。

如果您对该库的内部工作原理感兴趣,请参阅 代码生成内部结构 的自述文件,其中包含有关香肠的真实制作方式的详细说明。

发布

该库处于早期 Beta 阶段,版本 1.0.0 之前的版本不遵循 语义版本控制。 符号和方法名称可能会并且通常会更改。 在 1.0.0 版本发布之前,建议依赖于 .exact("0.x.y") 版本,以确保您的代码不会因 API 中的向后不兼容更改而中断。

在 MIT 许可证下获得许可。 有关更多详细信息,请参阅 文本