问题标签 [visualization]

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 投票
3 回答
2805 浏览

javascript - JavaScript 准备好可视化大型数据集了吗?

我们有一些数据(10-50 列,数十万行),我们通常在 Excel 中将其可视化为折线图或堆积条形图。
用户希望能够放大和缩小图表以深入了解各个样本,但这些操作确实让 Excel 陷入了困境。

我正在考虑将数据嵌入到 HTML 页面中,使用内联 JavaScript 来处理浏览器中的可视化。类似 flotr JS 图表库之类的东西将被用于图表。

  1. 这是一个愚蠢的想法吗?
  2. 浏览器准备好承受这种负载了吗?
  3. 这是一个已解决的问题,我应该在问之前更彻底地搜索一下吗?
0 投票
4 回答
1282 浏览

objective-c - git DAG 的增量线性化

我是GitX的作者。GitX 的功能之一是分支的可视化,可以在这里看到。

这种可视化当前是通过读取从 git 以正确顺序发出的提交来完成的。对于每个提交,父母都是已知的,因此以正确的方式建立通道相当容易。

我想通过使用我自己的提交池并自己线性化提交来加快这个过程。这允许我重用现有的已加载提交并允许 git 更快地发出提交,因为它不必以正确的顺序发出它们。

但是,我不确定使用什么算法来实现这一点。重要的是构建是增量的,因为提交的加载可能需要很长时间(100,000 次提交超过 5 秒,应该全部显示)。

Gitk 也是如此,这里有一个补丁说明了它是如何实现的,但是我的 TCL 技能很弱,而且补丁的注释不是很彻底,而且有点难以理解。

我还希望这个算法高效,因为它必须处理数十万次提交。它还必须显示在表格中,因此快速访问特定行很重要。

我将描述到目前为止的输入、我想要的输出和一些观察结果。

输入:

  • 我有一个哈希表形式的当前提交池,将提交 ID 映射到提交对象。此池不必是完整的(具有所有必要的提交)
  • 我在 git 的新提交中加载了一个单独的线程,每次加载新提交时都可以调用一个回调。没有保证提交的顺序,但在大多数情况下,下一个提交是前一个提交的父级。
  • 一个提交对象有自己的修订 id 和所有其父对象的修订 id
  • 我有一个应该列出的分支负责人列表。也就是说,没有应该显示的 DAG 的单个“顶部”。也不必有单个图根。

输出:

  • 我需要按拓扑顺序线性化这些提交。也就是说,一个提交在其父项被列出之后不能被列出。
  • 我还需要可以在上面的屏幕截图中看到的“分支线”。这些可能需要预先计算,因为它们中的大多数依赖于他们的孩子。

几点说明:

  • 有必要重新定位提交列表。例如,我们可能必须提交不相关的提交(分支头),直到出现使一个头成为另一个头的祖先的提交。
  • 必须显示多个分支提示
  • 重要的是这个过程是增量的,以便在数据仍在加载时至少有部分视图可用。这意味着必须在中途插入新数据并且必须重新调整分支线。
0 投票
4 回答
2056 浏览

python - 如何在 python 中更改 IP 地址时可视化它们?

我编写了一个小脚本,每次我打开一个新的终端窗口时都会收集我的外部 IP 地址,并将其以及当前时间附加到一个文本文件中。我正在寻找一种方法来可视化我的 IP 地址何时/多久更改一次。我在家庭和校园之间跳来跳去,可以使用脚本将它们分开,但最好将它们分开可视化。

我经常使用 matplotlib。有任何想法吗?

0 投票
1 回答
2865 浏览

graph - 使用graphviz绘制格子时如何将y位置强加在节点上?

我正在使用 Graphviz 绘制格子。
节点是一组数字。

作为一个格子,我希望节点的高度位置(y)表示该节点表示的集合中的元素数。然后 x 位置应由 graphviz 定义,以使表示更清晰。

是否可以?

根据 dot 文档,应该有属性 pos 应该定义节点的位置。但是,尽管我以许多不同的方式尝试了很多次,但我无法获得任何定义节点位置的图表。有人在这方面取得了成功吗?

以下是我使用的经典点文件:

如果有人可以编写一个定义一个节点高度的文件示例,我将不胜感激。

0 投票
6 回答
13078 浏览

algorithm - 生成独特的颜色

我想将一些数据绘制到纹理中:一行中的许多项目。它们不是按顺序创建的,而且它们的大小可能都不同(想想内存堆)。每个数据项都是一个小矩形,我希望能够将它们区分开来,所以我希望它们中的每一个都具有独特的颜色。

现在我可以使用 rand() 生成 RGB 值并希望它们都不同,但我怀疑我不会在 RGB 空间中得到良好的分布。还有比这更好的方法吗?例如,在它们(几乎)重复之前循环不同颜色的好方法是什么?

颜色不必与项目中的任何数据匹配。我只是希望能够查看许多值并看到它们是不同的,因为它们是相邻的。

我可以弄清楚一些事情,但我认为这是一个有趣的问题。:)

0 投票
1 回答
611 浏览

java - Java3D模拟作业

我被分配了使用 java3D(粒子等)模拟宇宙开始的任务,并且必须由 5 个不同的部分组成……每个部分的最小长度为 15 秒。像粒子汤阶段这样的阶段 - 基本上是 5 个可区分的可视化。它不必很复杂,只是球体以设定的编程行为四处移动。

除了构建一个依赖插值器的简单游乐场骑行外,我对 java3D 并没有真正做太多事情。

我如何能够保持时间线并在不同阶段之间切换?

我想知道如何最好地构建这个模拟。使用 PositionInterpolator 是否适合移动粒子和检测碰撞?还是有更好的方法来实现我正在寻找的东西?

到目前为止,我已经开始为一些粒子建模——简单的不同大小和颜色的球体,并将它们随机放置在简单的宇宙中,并使用 PositionInterpolator 对它们应用随机方向,并使用 Transform3D 设置旋转。

任何指导和帮助将不胜感激。

0 投票
3 回答
426 浏览

c++ - 我应该如何将数据类链接到我的 GUI 代码(在 C++ 中显示对象的属性)?

我有一个类(在 C++ 中),调用它Data,当代码运行时它有数千个实例(对象)。我有一个小部件(在 Qt 中),调用它DataWidget来显示对象的属性。为了快速构建小部件,我只是将对象属性写入文件并让小部件解析文件中的属性 - 这种方法有效,但不可扩展或不美观。

更清楚地说,我的要求是:
1 -DataWidget应该能够同时显示多个不同的Data对象属性
2 -DataWidget应该能够Data每秒显示数千个对象
3 -DataWidget应该与生成新Data对象的代码一起运行
4 - 每个Data对象都需要永久保存到文件/数据库

目前,GUI 已创建并DataWidget创建,然后实验运行并生成数千个Data对象(定期将其中一些写入文件)。实验运行后,DataWidget显示最后Data写入文件的对象(它们被写入 XML 文件)。

使用我当前的文件方法,我可以通过在实验运行后抓取多个文件来满足(1) 。由于实验与无关,因此没有并发性,因此在添加一个通知新文件存在的信号之前DataWidget,我无法执行(3) 。DataWidget

我没有继续使用这种方法有两个原因:首先,即使文件没有立即写入磁盘,我无法想象这种方法是可扩展的,除非实现一个缓存系统——但是,这似乎是我我要重新发明轮子?其次,Data是图形数据结构的包装器,我正在使用 Graphml(通过 Boost 图形库,即write_graphml())将结构写入 XML 文件,并使用 Boost 的read_graphml()将结构读回需要我将文件读回Data对象...这意味着程序的实验部分将对象编码为 XML,将 XML 写入文件(但希望在内存中而不是磁盘中),然后DataWidget从文件中读取 XML 并将其解码为对象!

在我看来,我应该使用一个可以处理所有缓存等的数据库。此外,似乎我应该能够跳过文件/数据库Data步骤DataWidget并将的列表Data)。然而,我还想将文件保存Data到文件/数据库步骤并非完全没有意义——我只是在错误的时间以错误的方式使用它。

考虑到我的要求,更好的方法是什么?

是否有任何通用资源和/或指南来处理和显示此类数据?

0 投票
10 回答
4056 浏览

javascript - 处理语言与 javascript?

我将开发一个在浏览器上运行并具有许多可视化和模拟工作(静电和电磁可视化、2D 和 3D)的综合教育软件。

哪种语言(处理、javascript 或其他)最适合我的目的?

0 投票
1 回答
2343 浏览

c++ - C++ 画一棵树

我在 C++ 中搜索了 Tree Visualization Framework 或类似的东西。我想知道我没有找到类似的东西。是否有任何(好的)框架来绘制树(或其他数据结构)?它应该在 C++ 中。

0 投票
1 回答
1827 浏览

c++ - 学习图形布局算法

在我的日常工作中,我倾向于遇到想要以自定义方式可视化的数据。例如,自动创建类似于 UML 序列图的调用图、显示有向图或可视化数据库中的数据(散点图​​、3D 轮廓等)。

对于图表,我倾向于使用 GraphViz。对于类似 UML 的绘图和 3D 绘图,我想编写自己的软件以在 Linux 下运行。

我通常用 C++ 编程,用 Python 做原型。

人们用什么书来学习这些基本的图形算法?我已经看到了一些关于强制导向布局和基于切割和打包问题的各种块式布局算法的不错的帖子——这些都是很好的开始,但在我开始之前,我想要更多的初学者指南和概述。