问题标签 [observablehq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1013 浏览

javascript - 在 Javascript 中,ƒ 是什么意思?

我见过这个 ƒ 符号(斜体 f 带有下尾,如果你看不清楚的话),例如:这里:https ://observablehq.com/@d3/zoomable-sunburst

他将它与以下代码一起使用,但我不确定它的用途:

这样做的目的是什么?

谢谢!

0 投票
2 回答
523 浏览

observablehq - 在 Observable 中:如何让按钮单击以调用函数

我正在生成一个带有“html”库函数的行列表。我在每一行上放了一个按钮,并希望它在单击时调用一个函数。我试过了:

myFunction在笔记本中定义,但单击按钮时不会调用它。我的使用在“html”中有几十行,而不仅仅是一行。

0 投票
2 回答
53 浏览

observablehq - 可观察的编辑器功能

我是 Observable 的新手,在编辑笔记本时,我选择了几行,然后使用 Command-/ 击键,它“//”注释了所有选定的行。我在 VS Code 中经常使用这个命令,并通过反射在 Observable 中使用它。我很惊讶它起作用了。

是否有 Observable 编辑器实现的功能列表?是否有可用于编辑单元格的编辑器的手册?

0 投票
1 回答
144 浏览

vega-lite - 下载在 Observablehq 中呈现为 svg 的 vega-lite 图表

我正在学习 Observablehq 和 Vega Lite。我创建了这个 observable:https ://observablehq.com/@mavromatika/untitled

我不明白为什么界面不允许我下载图表,既不是 SVG 也不是 PNG。我知道它应该可以工作,因为示例页面中的图表上都可以进行两种下载:https ://observablehq.com/@vega/vega-lite-api (仅在正确渲染时才能使用 SVG)。

一定有什么明显的东西在逃避我。

0 投票
2 回答
534 浏览

javascript - 勾选文本/变量标签不在 d3 条形图中换行

我正在尝试将换行应用于 d3 条形图中沿 x 轴的长变量标签。这是我在 Observable 笔记本中的图表:https ://observablehq.com/@unfpamaldives/figure4

我试图从这个块应用一个解决方案,主要包括以下内容:

它看起来像 什么:我想要实现的目标: 我还尝试将函数移到其他地方,在代码的前面和后面,以及尝试移动以下几行在此处输入图像描述
在此处输入图像描述wrap

从这段代码中的某个地方工作,如下所示:

但这不起作用(试图适应Bostock 的解决方案)。(我之前已经在其他 d3 可视化中使用了文本换行,这是值得的。)任何人都可以根据我的 Observable notebook的一个分支演示一个可行的解决方案吗?

0 投票
1 回答
1682 浏览

javascript - 如何从 d3 导入子模块以轻松创建图例?

我对 JavaScript 和 D3 比较陌生,所以请记住这一点。我创建了一个可视化来显示对仓库中特定位置的访问频率,并希望使用连续色标添加图例。

在此处输入图像描述

我已经查看了几个块并且可以想出一些切线的东西,但是我遇到了这个网页并想使用图例功能。天真地,我尝试添加

正如预期的那样失败了。我不知道该怎么做才能使这个导入工作。我已经下载了最新的 d3.zip 文件并尝试了以下来源但没有成功。

任何指导将不胜感激。

0 投票
1 回答
341 浏览

javascript - 使用 document.createElement('canvas') 时未出现图例

我按照这个Observable 帖子轻松创建了一个图例。

由于线

ramp仅在 Observable 上的作品中,我将其替换为

并且还修改了 SVG 以便将其附加到主 div 标签。这些更改不会导致任何错误,但问题是即使图例 SVG 存在于原始 HTML 中,也不会显示图例。

这是 JSFiddle的链接。任何指导将不胜感激。

0 投票
2 回答
1094 浏览

d3.js - 如何将 ObservableHq 简单算法解释为可重用的代码片段?

D3js 解决方案的主要来源是observableHq.com,但似乎不可能(?)通过复制/粘贴重用算法......是吗?即使检查这样的教程,也没有简单的方法(使用更少的插件或程序员的时间消耗!)来检查和重用.

示例:我需要一个新的 2020 D3js v5算法用于缩进树可视化,并且有一个很好的解决方案:observableHq.com/@d3/indented-tree
下载没有用,因为是基于复杂的 运行时类...

但是,似乎是一个简单的图表生成算法,

我是否可以通过简单的人工逐步将其转换为简单的 HTML,无需复杂的改编,以不使用Runtime 类<script src="https://d3js.org/d3.v5.min.js"></script>开始和结束?


更多细节作为例子

想象一下我对引用的 indented-tree algorithm的逐步说明,我无法精通并需要您的帮助:

假设从一个干净的 HTML5 模板开始。例如:

  1. 准备全局变量,似乎root,,nodeSize=17width

  2. 准备数据... JSON数据很丑./files/e6537420...,我用它的真实名称移动到项目的根目录,flare-2.json.

  3. 读取 JSON 数据的简单而经典的 D3js 方法: d3.json("./flare-2.json").then( data=> console.log(data) );
    必须测试并检查无 CORS 错误等。

  4. 准备数据作为root变量。全部进入data => {} 块以避免同步问题......
    似乎 root基于function(d3,data) { let i = 0; return d3.hierarchy(data).eachBefore(d => d.index = i++); }.

  5. chart =上面引用的复制粘贴,在root用数据初始化之后。

  6. ...


常问问题

评论问题和答案:

@Mehdi -   你能解释一下在代码中包含 D3 脚本标签和使用运行时库的问题吗?

原始的 ObservableHq 算法很简单时,我需要另一种方法,一种简单的方法来重用它,通过复制/粘贴和最小的调整。

@Mehdi -   你读过下载和嵌入笔记本教程吗?

是的,那里没有消息:没有关于如何重用代码的“人工指令”......只有“安装它”和“安装那个”。没有关于我上面解释过的“复制/粘贴和最小调整”的说明。

(@nobody) - 你需要什么作为答案?

正如我在上面展示的,一个简单的人类可读的逐步转换过程......理想情况下,最终结果可以通过测试,证明它可以在例如 JSFiddle 上工作,并带有复制/粘贴代码等等适应线来表明你的观点。

0 投票
1 回答
208 浏览

javascript - d3 连接散点图示例,语法问题

在此示例中:https ://observablehq.com/@d3/connected-scatterplot

第一个代码块是这样开始的:

两个问题(如果这些很简单,我很抱歉,但我是 javascript 新手,谷歌对我没有任何帮助):

1) chart 看起来像一个函数,因为它有一个 return 语句,但没有 function 关键字。如果我在我的烧瓶应用程序中为自己尝试这样的事情,当我输入 return 语句时会出现错误,因为它被评估为对象定义?这是一些 node.js 的东西吗?

2)那一行“重播”是什么?正在做?我在代码的其他地方没有看到对它的任何引用

编辑:我在这里找到了答案:https ://observablehq.com/@observablehq/observables-not-javascript

简而言之,那个网站上的任何东西都不是非常javascript,这在学习D3.js时真的很混乱,几乎所有的例子都在那个网站上(上面的页面有点难找)。但我想这都是让人们订阅并在 observablehq 上开发而不是编写独立的网络应用程序的商业模式的一部分。

0 投票
1 回答
59 浏览

javascript - 无法在 ObservableHQ 中导入 JS 包 BigDecimal

我正在玩ObservableHQ并决定使用BigDecimal 包。但是当我使用 require 函数使其可用时,我得到以下反馈:

错误反馈

我尝试按照简介中的说明使用Module require 调试器对其进行调试,但我是 JavaScript 新手,这些信息并没有太大帮助。

我在 Ubuntu 18.04 的 Firefox 75.0 中运行它。

为什么我不能导入包?这是我的设置有问题还是包裹的特定条件有问题?