help: matplotlib.sankey: linking flows from multiple prior sub-diagrams and crossing flows

Hi List,

I wonder whether anybody has tried to draw the following
idea with a sankey diagram (but if you are aware of another way to draw the following, I am open to suggestions):
I have several systems which are all linked so that part of the outputs of each of the systems becomes part of the inputs of each of the others. So, each system exchanges 2 flows with each of the other systems (an output which becomes the other’s input and vice-verse). This implies that some of the flows will have to cross.

I tried many combinations to connect the flows to each other but I did not manage to connect them all. In a 3 systems diagram, I managed at
best to connect 2 single flows: one from the 2nd diagram to the 1st and one from the third to the second. The problem is that, no matter which order I gave to the flows, I had never been able to connect both input and output between any sub-diagram (maybe because matplotlib.sankey does not automatically connect the flows when they have to cross?)

you can find the diagrams that I managed to draw here: https://dl.dropbox.com/u/45960790/World/sankeys.7z

I would appreciate any help to connect all the remaining flows.

I
think that this could be solved if it was allowed to explicitly state more than one flow to connect but I have no clue whether it is possible to implement:

Currently (as I have understood it), one can only specify a single “prior” diagram and a single flow to be connected. So it would be nice to:
– declare several flows to “connect” to the “prior” diagram; and also

– declare several “prior” diagrams for which several flows could be connected.

I guess this would be the easiest way to connect all flows from the sub-diagrams.
Of
course, this presupposes that crossing the flows is allowed. In case it
is not, can matplotlib.sankey be hacked to allow that?

Thanks a lot,

Aleix