d3.js - 如何更改 d3 observable notebook embed 的高度
问题描述
所以我知道我可以通过导入库来更改固定宽度而不是响应宽度,然后重新分配宽度值。但我也想改变高度,包括,height: 500
似乎不起作用。我做错了什么,还有什么其他方法可以在不使用 iframe 的情况下嵌入具有可自定义宽度和高度的 d3 可观察笔记本图表?
<div class="chart"></div>
<p>Credit: <a href="https://observablehq.com/@tripletk/mmcovid19-confirmedcases">Myanmar COVID-19 Total Lab
Confirmed Cases by Timmy Kyaw</a></p>
<script type="module">
import {
Runtime,
Inspector,
Library
} from "https://cdn.jsdelivr.net/npm/@observablehq/runtime@4/dist/runtime.js";
const runtime = new Runtime(Object.assign(new Library, {
width: 500
}));
import define from "https://api.observablehq.com/d/1adf72a9a09835c3.js?v=3";
const main = runtime.module(define, name => {
if (name === "chart") return Inspector.into(".chart")();
});
</script>
解决方案
在 Observable 笔记本中,宽度的工作方式与高度不同。你已经找到了如何改变宽度:它是一个反应变量,你可以像你正在做的那样用一个常量覆盖它;默认情况下,它与文档正文的宽度一起使用。
对于高度或您想要注入的任何其他值,例如data
or zipCode
,您应该使用main.redefine("height", 500)
. (我在下面的示例中使用 200,只需将其更改为 500。)
<div class="chart"></div>
<p>Credit: <a href="https://observablehq.com/@tripletk/mmcovid19-confirmedcases">
Myanmar COVID-19 Total Lab Confirmed Cases by Timmy Kyaw</a></p>
<script type="module">
import {
Runtime,
Inspector,
Library
} from "https://cdn.jsdelivr.net/npm/@observablehq/runtime@4/dist/runtime.js";
const runtime = new Runtime(Object.assign(new Library, {
width: 500
}));
import define from "https://api.observablehq.com/d/1adf72a9a09835c3.js?v=3";
const main = runtime.module(define, name => {
if (name === "chart") return Inspector.into(".chart")();
});
main.redefine("height", 200)
</script>
通常,使图形填充封闭的 div 而不是硬编码宽度和高度很有用:请参阅该方法的示例。同样作为参考,文档有更多关于redefine
和new Library
技术的信息。
推荐阅读
- msbuild - 如何使用目标标签在 .Net Standard 项目中包含 EmbeddedResource?
- javascript - 在pdf中单击时,有没有办法删除我的默认文本字段值?
- r - 是否有任何函数可以计算 glmer 的部分响应?
- tensorflow - AttributeError:该层从未被调用,因此没有定义的输出形状
- python - 简单的 OpenCV 测试只显示第一帧
- python - py3o.template 如何以正确的格式呈现“值”字段
- c++ - 为什么 decltype(param) 说 param 是右值引用,但我不能调用接受右值引用的函数?
- javascript - 为什么ParentNode在动态创建添加到DOM的元素时为空
- kotlin - 为什么我的数据无法成功转换为我定义的 json 属性
- python - 熊猫试图通过获取某些字符串之间的行来转换数据框