d3.js 相关问题

D3.js是一个JavaScript库,用于使用HTML,SVG和Canvas创建文档的交互式数据绑定可视化。

水平滚动的 D3 条形图

我正在尝试实现一个条形图,其中有一个选择下拉列表,其中包含 3 个值:按日期、按周、按月(默认情况下为“按日期”)。 来自后端的“ByDate”数据很多...

回答 1 投票 0

直接子代的 d3 选择器

我显然可以这样做: d3.selectAll('div#some-div>ul') 但是如果我使用 DOM 节点或现有的 D3 选择怎么办: d3.select(this).selectAll('ul') 将为我提供所有后代 UL。因此,如果 var d...

回答 9 投票 0

使用SVG的部分边框/描边

我正在使用 svg/d3 创建由“矩形”元素组成的图表。 为每个矩形添加部分边框/描边(仅在矩形顶部)的最佳方法是什么? 谢谢

回答 2 投票 0

在MUI X Charts中,如何防止LineChart Y轴标签与刻度标签重叠?

我一直在使用非常基本的折线图,其呈现如下: 正如您所看到的,货币标签与刻度线重叠。避免这种情况的最佳方法是什么? 折线图来源: 常量

回答 2 投票 0

相当于组件内部翻译还是组件本身翻译?

我尝试这段代码(JSFiddle) 常量块 = () => { 返回 ( 我尝试这个代码(JSFiddle) const Piece = () => { return ( <svg> <g transform="translate(XXX,XXX)"> <circle cx="-50" cy="-50" r="10" fill="black" /> </g> </svg> ) } const root = ReactDOM.createRoot(document.getElementById("app")); root.render( <svg width="700" height="700" fill="#FFDDDD"> <g transform="translate(YYY,YYY)"> <Piece /> </g> </svg> ); 其中 XXX 和 YYY 等于 0 或 100,我可以看到: 如果平移发生在组件 Piece 内部(XXX=100,YYY=0),则其工作原理是圆圈出现在屏幕上,即使它最初设计在屏幕外部(-50,-50); 如果平移发生在主组件内部(XXX=0,YYY=100),则不会出现圆圈。 我以为里面翻译和外面翻译是一样的,其实不然。问题是我想收集许多不同的部分,将翻译的价值传递给所有这些部分并不是一件好事...... 当然,我已经在真实的React(18)和d3(7)结构上使用不同的文件Piece、App等测试了代码,结果是相同的。 我在这里缺少什么? 如果你正确地编写了 SVG,那么使用哪个 <g> 进行翻译并不重要: svg { border: 1px solid black; } <svg width="300" height="300" fill="#FFDDDD" viewBox="0 0 100 100"> <g transform="translate(100,100)"> <g transform="translate(0,0)"> <circle cx="-50" cy="-50" r="10" fill="black" /> </g> </g> </svg> <svg width="300" height="300" fill="#FFDDDD" viewBox="0 0 100 100"> <g transform="translate(0,0)"> <g transform="translate(100,100)"> <circle cx="-50" cy="-50" r="10" fill="black" /> </g> </g> </svg> 但是,这确实需要编写正确的 SVG:一个 <svg> 根,带有 viewBox 属性,以便浏览器知道它实际渲染的内容,并且没有嵌套 <svg> 元素: // you don't need a `<g>` if you're transforming a single element. // the "transform" attribute can be used on *any* SVG element. const Piece = ({ tx:0, ty:0 }) => ( <circle cx="-50" cy="-50" r="10" fill="black" transform="translate({tx},{ty})"/> ); // But you need viewBox, otherwise your SVG cannot be rendered correctly. // However: here, too, you don't need <g> const SVG = ({ tx:0, ty:0 }) => ( <svg width="100" height="100" fill="#FFDDDD" viewBox="0 0 100 100"> <Piece tx={tx} ty={ty}/> </svg> ); const root = ReactDOM.createRoot(document.getElementById("app")); root.render(<SVG tx={100} ty={100}/>);

回答 1 投票 0

用于时间序列图的 mpld3 鼠标位置插件

我正在尝试为时间序列图创建一个 mpld3 鼠标位置插件,其 x 轴上的日期时间与此示例类似。 但是,我不断在控制台中收到以下错误: 键入呃...

回答 1 投票 0

D3.js中如何调整轴.domain线的大小?

我正在使用D3构建一个图表,我需要剪掉x和y线的多余尺寸,它们有一个.domain类,我已经圈出了我想要删除的区域: 我希望它看起来像这样: 我...

回答 1 投票 0

将D3.js多节点、多链接转换为新版本

我请求您为我正在开发的工具提供帮助。 在全球范围内,我找到了我正在寻找的东西(https://jsfiddle.net/4xt5v51m/3/),但问题是它似乎与我的 D3 版本不兼容......

回答 1 投票 0

相对位置在 Safari 11 Dagre-d3 svg 中不起作用

我正在尝试将 Html 标签放入 dagre-d3 SVG 图中,它在 Firefox 和 Chrome 中工作正常,但在 Safari 中在自定义 HTML 中添加相对或绝对位置时似乎出现问题。 变...

回答 2 投票 0

R networkD3 sankey - 为节点标签添加值

使用 networkD3::sankeyNetwork() 创建 Sankey 图表的示例代码... 库(“networkD3”) a = read.csv(标题 = TRUE, 文本 = " 日期、数据中心、客户、公司 ID、来源、目标...

回答 2 投票 0

如何使用 ECMAScript (vanilla javascript) 和模块 es6 导入

我读了这篇文章,我想使用 D3.js (v4+) 仅使用这样的 import 语句: 从'../node module/d3/build/d3.js'导入{选择}; 但是,因为代码输出是 UMD(或阅读此内容)并且 c...

回答 1 投票 0

具有多个根节点的树可视化

我是制作 javascript 树可视化的新手,任何人都可以举一些有关使用许多根节点创建可视化的示例。我正在尝试做以下事情

回答 1 投票 0

在Material UI中,如何防止LineChart Y轴标签与刻度标签重叠?

我一直在使用非常基本的折线图,其呈现如下: 正如您所看到的,货币标签与刻度线重叠。避免这种情况的最佳方法是什么? 折线图来源: 常量

回答 1 投票 0

D3:如何为一维数组的每个数据元素添加一个父 DOM 元素和多个子 DOM 元素?

我无法为一维数组中的每个数据条目创建组 g 以及两个子 SVG 组件(文本和矩形)。 allCorrespondingYValues 是一个类似 [1,2,3,4] 的数组 选择.全选...

回答 1 投票 0

使用 CSS 设计 d3.js 不应用 CSS 样式

我正在编写这段代码,它从 .JSON 获取一些数据(目前嵌入在代码中),然后绘制一些带有文本和一些连接线的框。 我想查看边界框...

回答 2 投票 0

用d3反射元素时如何正确过渡?

我有一个正在用新数据更新的路径元素。然后它被重新定位并被反射。所有这些都工作正常。无法正常工作的部分是过渡。由于...

回答 1 投票 0

如何使用 D3 创建等频(深度)箱?

您可以使用 D3 创建等宽的 bin,如下所示: 常量 arr = [0, 0, 1, 10, 100, 102, 200, 253, 10000] const bin_gen = d3.bin() const bins = bin_gen(arr) 将数据放入这些容器中: [ [ ...

回答 1 投票 0

R 包 NetworkD3 中的 SankeyNetwork 未找到具有最小交叉的 sankey

我正在使用 sankeyNetwork 函数创建非常简单的流数据图表。即使使用多次迭代,生成的图表显然也有不必要的交叉。 我在 R 中运行了这段代码...

回答 1 投票 0

三个 JS - 在循环内的画布上渲染而不更新画布

我有下面的代码,它需要进行多次扫描。我知道这始终是 2880。画布应该将整个 360° 分成 2880 个扇区。下面代码中的循环将始终从 0...

回答 1 投票 0

d3 svg 与 nextjs mouseenter 仅触发一次

我正在开发一个 React 组件,该组件使用了 D3,但是 svg 圆圈仅触发一次。 从 'react' 导入 React, { useEffect, useRef, useState }; 从 'd3' 导入 * 作为 d3; 导入

回答 1 投票 0

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