问题标签 [d3plus]

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 投票
0 回答
81 浏览

d3.js - 如何将现有文本元素转换为 d3plus-text 文本框?

我尝试使用 d3plus-text。首先我在 svg 元素上附加新的文本元素

然后我想换行该文本

但是我在渲染时遇到错误

我确定有 nodeText 元素。我究竟做错了什么?谢谢

0 投票
0 回答
33 浏览

d3.js - D3 Plus 环网截断

我正在使用 d3plus 制作环形图,例如这里显示的简单环形 ( http://d3plus.org/examples/d3plus-network/simple-rings/ )。

我的问题是我正在制作的戒指在二级级别上有很多连接,这使得戒指看起来完全忙碌。

我制作的戒指示例:

我制作的戒指示例

我的数据结构是一个简单的链接数据集

链接= [{来源:“A”,目标:“B”,强度:SomeNumber},....]

我已经通读了文档,但我完全不知道如何最小化第三级显示的连接数量。

一定有我遗漏的东西,例如,我想通过仅向第二级源显示(最多)前两个或三个目标来切断显示的链接数量。

只是希望这里有人对此有一些想法。

0 投票
0 回答
87 浏览

geometry - 使用 D3plus 算法查找位于给定多边形内的最大面积矩形

正如您可能知道的那样,在 D3plus 库中找到位于给定多边形内的最大面积矩形的算法非常棒。

如果我将此算法与 EPSG:4326 (WGS84) 坐标一起使用,结果看起来非常合理,如下图所示:

在此处输入图像描述

我的问题是我必须使用 EPSG:2056 (LV95) 的瑞士 CRS。如果我使用相同的算法但使用瑞士坐标,则会发生以下情况:

在此处输入图像描述

您可能认为要解决这个问题,我可以只转换 CRS 之间的坐标。但这不起作用,因为失真:

在此处输入图像描述

我创建了一个显示问题的示例:https ://stackblitz.com/edit/largest-rectangle

有人知道为什么它不适用于瑞士坐标吗?或者更好的是,有一个可行的解决方案吗?

0 投票
1 回答
29 浏览

d3.js - 使用 D3 和 D3Plus 更改文本中的一种单词颜色

我有以下代码:

但是,我想将“@MapboxUnion”更改为蓝色,但我不知道如何使用 D3 来实现。

感谢您的时间和帮助。

0 投票
1 回答
20 浏览

d3.js - D3plus 线图上的多个形状注释

我有一个使用 d3plus 创建的线图,我需要有多个带有形状标签的线注释(一个水平线和两个垂直线)来识别它们。我能够让线条正确显示,但我无法让多个标签显示在图表上。

这是我的一组数据:

这是我的 LinePlot注释数组。

发生的情况是,当我刚刚拥有该Start Date项目时,它工作正常,但是当我添加该End Date对象时,第一个消失了,第二个没有完全呈现。

根据文档,annotations接受

Shape 类的自定义配置对象,单个配置对象或配置对象数组。`,

这是我提供的,所以我不确定问题出在哪里。我需要更改什么才能让我的所有标签正确显示?

0 投票
0 回答
33 浏览

javascript - Add annotations to D3 line graph using D3plus

I'm working adding a line plot graph that uses dates on the x axis and dollar values on the Y axis in a Vue SPA, and I need to add some annotations; in particular three vertical lines with labels at different dates (representing dates in the life of a contract), and a horizontal line at a dollar value (represents a contract's fully disbursed value). I was initially using d3 with d3-annotation, but due to conflicts with the latest D3, I have been unable to use that library.

I started playing with d3plus, but it looks like I have to use it to build my chart from scratch, instead of just adding annotations on top of an existing chart made with d3; the annotations are just a method on the Plot() class.

Here's what I have for my d3 version of the chart. It's broken up into a couple of Vue components:

line-chart-data

Since d3plus is built on top of d3, is there a way to add an annotation to this d3 chart without having to build everything in d3plus from scratch?

0 投票
0 回答
19 浏览

css - 无法使用 activeStyle 隐藏 d3plus 形状

我正在使用d3Plus来显示一些线图,并且我有一些注释,包括矩形和线。bootstrap-vue用于 CSS,我想通过向形状添加.d-none .d-lg-block类来隐藏移动设备上的形状。根据(令人难以置信的稀疏)文档,我应该能够使用 Shape 配置中的activeStyle属性来执行此操作。

但是,当我尝试将值作为字符串或返回对象的函数返回时,它似乎没有被访问。

此对象中的其他 Shape 配置选项(fillrxrystroke等)工作正常,所以我不知道为什么这些不是。

我需要做什么才能使用我的类来隐藏形状?

0 投票
0 回答
30 浏览

svg - 删除 svg 中 rect 内文本元素周围的空间

我正在使用d3plus绘制线图,并且添加了三个注释,这些注释是<rect>明显包含 '' 元素的形状。该库将它们放置在<g>作为兄弟姐妹的单独元素中:

使用此代码:

<rect>问题是形状 内的文本标签周围有很多空间,如下所示:显示矩形内文本框周围的空间

我想要做的是紧贴<text>内容边缘周围的矩形(因为没有更好的术语)。它不像填充那么简单,我一直在搞乱诸如封闭<rect>和元素的大小以及使用textAnchorverticalAlign<text>值放置文本框之类的事情,但那里总是有一些空间。有没有办法缩小矩形,使文本框周围没有空间?

0 投票
1 回答
31 浏览

reactjs - d3plus-react Treemap 上的自定义标签

我必须自定义 d3plus-react 系列的标签,自定义将非常接近带有标签和百分比的原始标签,但我不会像原来那样从 id 中获取名称,而是从另一个字段中获取它对象(名称)。

该对象具有以下结构:

这就是我的 Treemap 配置:

问题是我不知道如何在不触及共享百分比的情况下修改磁贴的标签,我已经搜索了文档,但没有发现任何相关内容。

有谁知道是否有一些官方方法可以做到这一点,或者我必须自己做?

期望的结果