问题标签 [sankey-diagram]

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 投票
4 回答
9466 浏览

python - Python中的桑基图

是否有用于生成桑基图的 Python 库?

我已经看过这个Sankey 图表应用程序和库列表,但它们都不是 Python 中的。

0 投票
7 回答
13386 浏览

javascript - javascript中的桑基图

我想用 Javascript画一个桑基图。任何人都可以就可用的算法或库提供一些指导吗?

0 投票
10 回答
53528 浏览

r - R中的桑基图?

我正在尝试使用 R 中的桑基图可视化我的数据流。

我发现这篇博客文章链接到一个生成桑基图的 R 脚本;不幸的是,它非常原始且有些受限(请参阅下面的示例代码和数据)。

有谁知道其他更发达的脚本——甚至可能是一个包?我的最终目标是通过图表组件的相对大小来可视化数据流和百分比,就像在Sankey Diagrams 的这些示例中一样。

在 r-help list 上发布了一个类似的问题,但是两周后没有任何回复,我在 stackoverflow 上试试运气。

谢谢,埃里克

PS。我知道Parallel Sets Plot,但这不是我想要的。

使用上述代码生成的桑基图,使用上述代码生成的桑基图

0 投票
3 回答
27202 浏览

d3.js - d3.js 桑基图:矩形填充颜色

所以我在玩 d3.js 桑基图。

在此处输入图像描述

此示例中(如上图所示),颜色是使用定义的

对于每个节点,都有一个矩形,并且通过改变样式来填充该矩形:

我正在寻找有关使用自定义颜色的建议。如果我只想使用 6 种颜色,但根据 .json 文件中的值选择节点矩形颜色。

例如,假设我想展示 NFL 球队的蛇形图表。每种颜色代表球队所在的分区。因此,如果他们移动到不同的分区,颜色会发生变化。并且为每个季节创建节点。类似的东西。

那么是否可以运行

基于 json 文件中的值的颜色?我只是在想一个 if 语句,但有没有更简单的方法?我可以在 json 中包含十六进制颜色代码吗?

0 投票
2 回答
4402 浏览

json - 桑基图转换

我想知道是否有一种简单的方法可以修改桑基图示例,以便顺利过渡到新数据。例如,假设我有不同的数据文件(energy1.json、energy2.json ...),d3 如何为第一个数据集绘制桑基图,然后等待并稍后重新排列框以表示第二个数据集?

0 投票
2 回答
421 浏览

python - Matplotlib:是否可以在不创建子图的情况下创建具有给定 y 偏移的新轴?

借助 Matplotlib 中的sankey - toolbox,我们可以自动绘制 sankey-diagrams: sankey-object 的位置是根据其先验对象的位置自动计算的,不能手动给出;并且当一个 sankey-diagram 被初始化时,第一个 sankey-object 的位置将被分配一个轴的输入。((0,0)点将是该对象的中心点)

情况如下:我想绘制两个具有给定 y 偏移的 sankey 图,并且应该连接两个图的几个端口。因此,需要在同一个子图中具有 y 偏移的两个坐标系。我已经尝试了“ add_axes ”方法,但是使用这种方法会创建一个新的子图,并且会出现图形缩放问题。

现在的问题是:是否可以在不创建子图的情况下创建具有给定 y 偏移的新坐标系?

0 投票
1 回答
1140 浏览

backbone.js - JavaScript - Backbone.js 应用程序中的交互式图表

背景:我目前正在使用 JavaScript、jQueryBackbone.js(支持者需要这些)为 Web 应用程序开发客户端。
这是一个以图形模式(主要通过表示数据的交互式图表)可视化和编辑数据的应用程序。

术语:所述数据是多个文档的格式,每个文档包含一个项目列表
对于这个问题,让项目由标识符文本描述和指向其他文档中项目的链接组成。链接应该是对称的(i1 -> i2当且仅当i2 -> i1也存在时才存在)。

当前目标:在这个阶段,应用程序应该能够读取两个文档,并排显示两个列表,然后根据它们的链接绘制线条,连接两个文档之间的项目。
这些行应该是可编辑的。换句话说,用户应该能够创建新链接,或删除现有链接(反映项目模型上的更改)。

这些文档可能有点长,比如几十个项目(在现实场景中可能有几百个)。当然,页面将是可滚动的,以允许用户查看所有内容。

此外,为了方便用户,应该有一个滑块来缩放视图(允许放大/缩小效果,因此为用户提供了全局局部视图,后者更适合编辑,前者更适合分析)。
此外,应该允许用户隐藏特定项目(当项目有很多链接时很有用,创建视觉垃圾)。

我设法做到了:

  • 读取数据并将其映射到 Backbone 模型和集合;
  • 并排显示两个文档(主干视图),并带有项目连接;
  • 允许在这些连接上进行交互(拖放以创建线条,单击以删除),反映骨干模型的变化;
  • 隐藏特定项目;
  • 规模效应。

在遇到jsPlumb之后,我使用SVG实现了这一点。

手头的问题:应用程序仍然需要调整(强调缩放效果)。无论如何,我发现 jsPlumb 使用起来很舒服。但是,在使用滑块时,渲染性能似乎有些不足(可能是滑块步长太小,从而触发了太多事件)。

支持者建议我尝试使用桑基图来表示这种数据。他们还建议我尝试基于Raphaël.js的 tamc 的 Sankey。 当然,视觉因素也有贡献。

我的问题:这个库是否与 Backbone 有很好的兼容性?可能,如果我使用生成的 SVG 元素作为主干视图的元素。
另外,两者中的任何一个都比另一个具有显着的渲染性能优势吗?

最后一点,是否还有其他库更适合这种情况,值得花时间重写应用程序,我可能会向支持者建议?

0 投票
0 回答
1595 浏览

javascript - 使用 d3py 使用 Python 生成的冲积图或桑基图?

我想使用d3py、 d3.js 及其sankey.js插件创建一个 Sankey 或冲积图,但我不知道如何从 d3py 访问这个 JavaScript 库和插件。

有人可以让我从这里开始吗?

0 投票
0 回答
251 浏览

javascript - 如何在 Sankey-Raphael 中向节点和链接添加超链接

我正在使用Sankey带有Raphael.

我想在节点和链接上启用点击事件。例如,点击时,我想调用 JavaScript 函数或回调我的控制器(spring mvc-java

0 投票
2 回答
281 浏览

javascript - 是否有任何 API 来实现流可视化,如谷歌流可视化

我正在尝试实现流可视化图,如谷歌流可视化。请为此类实现建议任何 API。任何帮助将不胜感激。

编辑:我使用sankey 图来实现这个要求。下面是我的代码:

在上面的示例中,我在第一次第三次交互中有“ page1 \n 50 ” 。为此,它将在第三次交互中仅创建一个节点。如何克服这个问题。请帮帮我。

提前致谢