- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 plotly 在桑基图中表示大量数据。问题是我的数据有周期并且它们不受 plotly 的支持。所以我试图正确地删除它们:我想找到这些循环并根据它们的值将它们之间的差异保留在 Sankey 中。
我们拿这篇帖子的代码来说:Python Plotly Sankey Graph not showing up
import plotly.offline
data_trace = {'domain': {'x': [0, 1], 'y': [0, 1]},
'height': 772,
'link': {'label': ['EM', 'GWF9C51E', 'GWF9C511', 'GWF9C51E Sensor Set',
'GWF9C511 Sensor Set'],
'source': [0, 1, 3, 1, 4, 2, 0, 2],
'target': [1, 3, 1, 0, 2, 0, 2, 4],
'value': [40, 76, 29, 86, 30, 75, 41, 65]},
'node': {'color': ['blue', 'yellow', 'yellow', 'green', 'green'],
'label': ['EM', 'GWF9C51E', 'GWF9C511', 'GWF9C51E Sensor Set',
'GWF9C511 Sensor Set'],
'line': {'color': 'black', 'width': 0.5},
'pad': 15,
'thickness': 15},
'orientation': 'h',
'type': 'sankey',
'valueformat': '.3s',
'valuesuffix': 'pkts',
'width': 1118}
layout = dict(
title = "Testing Sankey",
font = dict(
size = 10
)
fig = dict(data=[data_trace], layout=layout)
plotly.offline.plot(fig, validate=False)
我正在努力获得以下输出:
source = [1, 1, 2, 2]
target = [3, 0, 0, 4]
value = [47, 46, 34, 35]
最后,我在我的 sankey 类中添加了一个方法:
def preprocess_data(self, source, target, value):
equal = True
while equal:
equal = False
for i in range(len(source)):
if source[i] == target[i]:
source.remove(source[i])
target.remove(target[i])
value.remove(value[i])
equal = True
break
cycles = True
while cycles:
cycles = False
for i in range(len(source)):
if source[i] in target:
if source[target.index(source[i])] == target[i]:
if value[i] > value[target.index(source[i])]:
value[i] = value[i] - value[target.index(source[i])]
source.remove(source[target.index(source[i])])
value.remove(value[target.index(source[i])])
target.remove(target[target.index(source[i])])
cycles = True
break
elif value[i] < value[target.index(source[i])]:
value[target.index(source[i])] = value[target.index(source[i])] - value[i]
source.remove(source[i])
target.remove(target[i])
value.remove(value[i])
cycles = True
break
elif value[i] == value[target.index(source[i])]:
source.remove(source[target.index(source[i])])
value.remove(value[target.index(source[i])])
target.remove(target[target.index(source[i])])
source.remove(source[i])
target.remove(target[i])
value.remove(value[i])
cycles = True
break
return source, target, value
但我仍然遇到错误:Sankey 数据中存在循环。删除所有节点和链接。这是我的数据:
Source Target Value
1 0 3.055036682
2 1 0.255226984
3 1 0.17286605
4 1 0.283457885
5 1 2.189129762
6 1 0.146398649
7 1 0.000330826
8 5 0.014816468
9 5 1.761388323
10 5 0.007640889
11 5 0.034437287
12 5 0.36981087
13 9 0.051029227
14 9 0.048415849
15 9 0.025553877
16 9 0.014874949
17 9 0.026363222
18 9 0.027792755
19 9 0.03991485
20 9 1.473528785
21 9 0.05176817
8 20 0.013481225
10 20 0.010946264
22 20 1.175625342
23 20 0.51347902
24 20 0.043903806
11 20 0.024993631
25 22 0.75991767
26 22 0.145394536
27 22 0.005930888
28 22 0.012234177
29 22 0.002055835
30 22 0.018474162
31 22 0.156176541
32 22 0.033256631
33 22 0.003159624
34 22 0.018618654
35 22 0.010317747
36 25 0.727858859
37 25 0.039782352
27 36 0.00945708
38 36 0.000444879
39 36 0.040179593
40 36 0.677729291
41 40 0.01814106
42 40 0.153769306
43 40 0.327314909
8 40 0.000454993
44 40 0.060977151
45 40 0.066703595
46 40 0.029803695
11 40 0.002020937
47 40 0.332885758
31 23 0.083713487
15 23 0.013335976
16 23 0.046455924
48 23 0.025814488
19 23 0.011392122
21 23 0.332460405
10 21 0.006533316
49 21 0.343844244
50 21 0.029481036
51 21 0.012668768
25 12 0.012360508
26 12 0.005031381
13 12 0.010749498
30 12 0.003701076
17 12 0.005553512
34 12 0.006710585
20 12 0.310404369
39 12 0.009207691
52 49 0.000207941
14 49 0.020680254
29 49 0.000317917
32 49 0.005142853
33 49 0.000488609
40 49 0.314920228
53 49 0.000366989
35 49 0.001595551
29 47 2.38345E-05
32 47 0.000385564
33 47 3.66314E-05
6 47 3.64378E-06
54 47 4.81106E-06
55 47 0.154840432
56 47 6.63752E-06
57 47 0.001367098
53 47 2.75135E-05
58 47 8.17783E-06
59 47 5.75289E-06
29 43 7.77673E-05
60 43 5.05489E-07
32 43 0.001258018
17 43 2.37004E-05
33 43 0.000119521
61 43 0.30422448
21 43 4.66976E-07
53 43 8.97709E-05
62 43 0.014012209
35 43 0.000390296
63 61 0.300086221
64 61 0.041554598
65 61 0.032388115
8 61 9.40855E-06
66 61 0.324759598
67 61 0.147241861
11 61 6.93695E-05
68 61 0.157452076
69 61 0.017542372
57 66 0.009835633
关于为什么我仍然收到该错误的任何线索?谢谢!
最佳答案
我认为 plotly sankey 确实支持圆图(现在)?
我有时为去除复杂循环所做的事情是使用像网络 X 这样的图形库进行转换,它有一些 API 方法来去除自循环 Removing self-loops from undirected networkx graph
关于Python Plotly 桑基图 : Handling circular references,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53042938/
环形缓冲区和循环链表有什么区别? Ring Buffer 的目的是什么,而循环链表不能,反之亦然? 最佳答案 环形缓冲区是一个连续的内存块,其中包含您的项目,当您到达终点时,您会循环回到起点: +--
我有一个像这样的多级依赖关系图,我需要检测该图中的任何循环引用。 A = B 乙=丙 C = [D, B] D = [C, A] 有人有这样的问题吗? 有什么解决办法??? 用英语表示感谢和抱歉。 =
尝试编写一个reduce函数来过滤掉任何重复项。我知道还有其他方法可以解决这个问题,但我正在尝试练习递归函数。 function addToSet(a, b) { a.add(b); retu
我想知道是否有人已经实现/知道(最好是 javascript)将处理循环间隔的间隔树算法。通过循环,我的意思是开始 > 结束的间隔。请注意,这也需要限制间隔的大小。 这只是常见区间树问题的一个子案例吗
我有一段代码,其中声明了两种数据类型。我已经将两者都自动派生为类型类 enum 的成员,但是,我不喜欢它们不是“圆形”的。我的意思是调用 succ Sun应该让我Mon . succ Dec应该导致
运行此代码时: function arrayToList(arr) { if (arr.length == 1) { return { value: arr[0],
我有以下模块结构: /components ├── Button.js ├── Checkbox.js ├── index.js ├── DateSelect ├── DateSelect.j
为了检查光线与三角形的碰撞,我们可以首先查看光线是否与三角形的平面发生碰撞。如果是,我们然后检查所有三角形边的交点是否在同一边。如果为真,则意味着该点位于三角形内部。此过程与矩形和其他凸图形类似。 这
我遇到了同样的问题,如下所示: NHibernate - not-null property reference a null or transient value 根本原因就像 Alun Harfo
我想以“循环”方式使用函数,如下例所示: fun cll1 (s)= cll2(s); fun cll2 (s)= cll3(s); fun cll3 (s)= cll(s); 编写此代码会在 SML
我想根据现有列的滞后值在 pyspark.sql.DataFrame 中创建一个新列。但是......我也希望最后一个值成为第一个值,第一个值成为最后一个值。这是一个例子: df = spark.cr
我正在使用 Microsoft.ServiceModel.Samples.CircularTracecListener 二进制文件来实现 Web 服务上的错误日志记录。 它应该写入一个文件,直到达到
我有一个由 8 个罗盘点组成的数组,从 SW 顺时针编号到 S: 2 3 4 1 5 0 7 6 我想计算从一点到另一点的最短路线是顺时针 (+1) 还是逆时针 (-1)。例如。从 7 到 5 是
我知道如何解决基本的循环依赖示例,有两个类,每个类都需要知道另一个存在。 但是,我现在的情况是,示例更复杂,前向声明不是可以解决该问题的东西。 考虑这三个文件 // my_thread.hpp tem
我正在开发一款用于在线播放歌曲的应用程序。我可以通过点击播放这首歌。 我的问题是我在所有 Activity 中都有一个 CircularSeekBar,我需要在所有屏幕上管理它。如果从任何 Activ
我正在尝试实现动画 shown here .它工作正常,除了 unreveal 动画,显示黑屏片刻。并非所有设备/api 版本都存在该故障。 Google Nexus 10 (API 22) 的 Ge
我正在使用 Canvas 创建倒数计时器循环,但有一个简单的问题,我需要将天数除以 364 天,当天数大于 364 天时,天数消失: 我需要的是这样的: (function($) { jQuery
我想在不使用 SVG 的情况下实现这样的效果: https://codepen.io/arforcee/pen/erbKi?limit=all&page=2&q=circular+loader 这是否
这个问题在这里已经有了答案: How to create a circle with links on border side (8 个答案) 关闭 4 年前。
我遇到了一个小设计问题。 如下情况 库界面 包含每个模型类的接口(interface)(仅限 getter 和 setter) 图书馆业务逻辑 包含接口(interface)库和 DAL 的实现。使用
我是一名优秀的程序员,十分优秀!