每当我保存Sankey图时,无论大小,它总是会产生空白的svg。有办法解决这个问题吗?该图形正常显示在我的Jupyter笔记本中,但保存了一个空白svg(仅可见标题)。
我正在使用3.6.1版
我已经在小区社区委员会上问过同样的问题,但是没有任何回应。
def drawSankeyForAreaFlow(area_flow_data, log_index):
sankeyData = getSankeyData(area_flow_data)
data = dict(
type='sankey',
node = dict(
pad = 30,
line = dict(
width = 0.5
),
label = ['label 1', 'label 2', 'label 3', 'label 4', 'label 5', 'label 6', 'label 7', 'label 8', 'label 9', 'label 10', 'label 11', 'label 12', 'label 13', 'label 14', 'label 15', 'label 16'],
color = ['#FF40C5', '#FF4A80', '#FF713D', '#FF9600', '#E5B200', '#A4C700', '#47D400', '#00DB65', '#00DFAE', '#00E1F5', '#00DEFF', '#00D6FF', '#00C7FF', '#58AEFF', '#EA8BFF', '#FF61FF', '#FF40C5']
),
link = dict(
source = [0, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 8, 8, 9, 11, 12, 12, 14, 14, 15, 15, 15, 15, 15],
target = [2, 4, 5, 11, 12, 15, 9, 4, 12, 15, 2, 2, 4, 0, 3, 0, 2, 8, 14, 0, 4, 12, 14, 15],
value = [6, 2, 1, 1, 2, 2, 1, 1, 1, 5, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 3, 2, 1, 6]
))
layout = dict(
title = "Sankey for log " + str(log_index),
font = dict(
size = 10
)
)
fig=go.Figure(data=[data],layout=layout)
pio.write_image(fig, "./output/graphs/" + "Sankey for log " + str(log_index) + ".svg")
plotly.offline.iplot(fig, validate=False)
return {'sources': sankeyData['sources'], 'targets': sankeyData['targets'], 'values': sankeyData['values']}
allSankeyData = []
for i, log in enumerate(logs):
allSankeyData.append(drawSankeyForAreaFlow(log["properties"]["area_flow"], i))
答案 0 :(得分:0)
Plotly不支持任何循环引用。起初,我认为这仅适用于节点引用自身的情况,但似乎也适用于“ A-> B,B-> A”之类的情况。出于某些奇怪的原因,我的sankey图仍然被渲染,但是没有保存。