问题标签 [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.
javascript - 在 Javascript 中,ƒ 是什么意思?
我见过这个 ƒ 符号(斜体 f 带有下尾,如果你看不清楚的话),例如:这里:https ://observablehq.com/@d3/zoomable-sunburst
他将它与以下代码一起使用,但我不确定它的用途:
这样做的目的是什么?
谢谢!
observablehq - 在 Observable 中:如何让按钮单击以调用函数
我正在生成一个带有“html”库函数的行列表。我在每一行上放了一个按钮,并希望它在单击时调用一个函数。我试过了:
myFunction
在笔记本中定义,但单击按钮时不会调用它。我的使用在“html”中有几十行,而不仅仅是一行。
observablehq - 可观察的编辑器功能
我是 Observable 的新手,在编辑笔记本时,我选择了几行,然后使用 Command-/ 击键,它“//”注释了所有选定的行。我在 VS Code 中经常使用这个命令,并通过反射在 Observable 中使用它。我很惊讶它起作用了。
是否有 Observable 编辑器实现的功能列表?是否有可用于编辑单元格的编辑器的手册?
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)。
一定有什么明显的东西在逃避我。
javascript - 勾选文本/变量标签不在 d3 条形图中换行
我正在尝试将换行应用于 d3 条形图中沿 x 轴的长变量标签。这是我在 Observable 笔记本中的图表:https ://observablehq.com/@unfpamaldives/figure4
我试图从这个块应用一个解决方案,主要包括以下内容:
它看起来像
什么:我想要实现的目标:
我还尝试将函数移到其他地方,在代码的前面和后面,以及尝试移动以下几行
wrap
从这段代码中的某个地方工作,如下所示:
但这也不起作用(试图适应Bostock 的解决方案)。(我之前已经在其他 d3 可视化中使用了文本换行,这是值得的。)任何人都可以根据我的 Observable notebook的一个分支演示一个可行的解决方案吗?
javascript - 如何从 d3 导入子模块以轻松创建图例?
我对 JavaScript 和 D3 比较陌生,所以请记住这一点。我创建了一个可视化来显示对仓库中特定位置的访问频率,并希望使用连续色标添加图例。
我已经查看了几个块并且可以想出一些切线的东西,但是我遇到了这个网页并想使用图例功能。天真地,我尝试添加
正如预期的那样失败了。我不知道该怎么做才能使这个导入工作。我已经下载了最新的 d3.zip 文件并尝试了以下来源但没有成功。
任何指导将不胜感激。
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 模板开始。例如:
准备全局变量,似乎
root
,,nodeSize=17
和width
准备数据... JSON数据很丑
./files/e6537420...
,我用它的真实名称移动到项目的根目录,flare-2.json
.读取 JSON 数据的简单而经典的 D3js 方法:
d3.json("./flare-2.json").then( data=> console.log(data) );
必须测试并检查无 CORS 错误等。准备数据作为
root
变量。全部进入data => {}
块以避免同步问题......
似乎root
基于function(d3,data) { let i = 0; return d3.hierarchy(data).eachBefore(d => d.index = i++); }
.chart =
上面引用的复制粘贴,在root
用数据初始化之后。...
常问问题
评论问题和答案:
@Mehdi - 你能解释一下在代码中包含 D3 脚本标签和使用运行时库的问题吗?
当原始的 ObservableHq 算法很简单时,我需要另一种方法,一种简单的方法来重用它,通过复制/粘贴和最小的调整。
@Mehdi - 你读过下载和嵌入笔记本教程吗?
是的,那里没有消息:没有关于如何重用代码的“人工指令”......只有“安装它”和“安装那个”。没有关于我上面解释过的“复制/粘贴和最小调整”的说明。
(@nobody) - 你需要什么作为答案?
正如我在上面展示的,一个简单的人类可读的逐步转换过程......理想情况下,最终结果可以通过测试,证明它可以在例如 JSFiddle 上工作,并带有复制/粘贴代码等等适应线来表明你的观点。
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 上开发而不是编写独立的网络应用程序的商业模式的一部分。
javascript - 无法在 ObservableHQ 中导入 JS 包 BigDecimal
我正在玩ObservableHQ并决定使用BigDecimal 包。但是当我使用 require 函数使其可用时,我得到以下反馈:
我尝试按照简介中的说明使用Module require 调试器对其进行调试,但我是 JavaScript 新手,这些信息并没有太大帮助。
我在 Ubuntu 18.04 的 Firefox 75.0 中运行它。
为什么我不能导入包?这是我的设置有问题还是包裹的特定条件有问题?