将 D3 Observable 转换为独立网页 - 就像 blocks.org?

问题描述 投票:0回答:3

我想运行这个 D3 可视化

https://beta.observablehq.com/@mbostock/d3-zoomable-sunburst

作为一个独立的网页,就像这里的这个

https://bl.ocks.org/maybelinot/5552606564ef37b5de7e47ed2b7dc099

Observable 有导出到

.html
文件的功能吗?或者我需要更改什么才能使其独立?

d3.js data-visualization observablehq
3个回答
4
投票

可悲的是,这不再那么容易了。

他们已经“归档”了 bl.ocks.org,并正在推动 ObservableHQ 笔记本的采用。实际上,您可以稍加努力嵌入笔记本,但它们由https://api.observablehq.com提供。还有其他选项,但没有什么能让您轻松提取 html、javascript 和 css 并自己托管,就像 bl.ocks.org 所做的那样。充其量,您现在必须拼凑更多的东西。一种方法是单击某些笔记本右上角的上下文菜单,然后选择“导出”>“下载代码”。另一个可能的选择是这个工具

< relevant-humble-opinion > 我不知道 d3 bl.ock.org 的示例是否变得如此出色以至于诉讼进入了......或者 Mike Bostock(我们故事的英雄)是否真的相信我们需要 “数据流”......但是事情从这里看起来很糟糕...似乎没有什么好东西会持续...< /relevant-humble-opinion >


0
投票

在 Observable 示例页面上,我单击了 fork 选项旁边的三个三点。然后选择导出,然后选择“下载代码”。 我将 tar 文件提取到我机器上的一个文件夹中。在自述文件中,它建议您运行 $ npx http-server 在终端中,在您的机器上运行本地服务器。 在浏览器中打开该位置,它应该显示与网页几乎相同的内容。它应该足够接近你要找的东西。

使用的可观察页面可重复使用的等值线图


0
投票

我喜欢 D3 并且需要这个问题的真正答案,所以我进一步深入。

在研究这个问题时,我发现 Observable notebooks 本身还不错,但是它们混淆了导入和数据格式化之类的东西,并且弄乱了代码块的顺序。也就是说,Mike Bostock 的许多 Observables 示例都是干净的 JavaScript,您只需要一个可以粘贴示例代码的框架。

我发现您可以将 Observables notebook 代码复制/粘贴到 javascript 模块中,并且非常成功,只需进行最少的调整。您需要导入 d3,并为示例代码提供所需的数据和选项。

只是“记笔记”很难让每个例子中的一切都到位,所以我写了一个框架。它托管在 githubgitlab 上,因此希望它仍然是解决这个问题的可行资源。

© www.soinside.com 2019 - 2024. All rights reserved.