Author Topic: changing order of stacked arrows  (Read 1117 times)

Offline andrew

  • Jr. Member
  • **
  • Posts: 8
changing order of stacked arrows
« on: January 26, 2017, 06:23 AM »
Hi all,
I have a situation much like that of Figure 39 in the manual: multiple flows coming from multiple processes into a single process.  In my case, the mass flow is the same for all flows (as opposed to the example Fig. 39, with sand, water, etc.)

Instead of making a nice, 'cooperative' arrow pointing towards the destination process, each flow makes its own arrow (as shown in attached).  When zoomed in, this is okay, but at the scale of the entire diagram, it's hard to see if each flow is coming in or out.

Toggling between "Sort by Angle" and "Sort by ZOrder" of the receiving process does change the vertical order of the incoming flows, but doesn't change this single vs. unified arrow. 

Do you all have any helpful hints?  Sorry if this has been addressed already.  I didn't see it...

Thanks!
Andrew


Offline pbeilschmidt

  • Administrator
  • Hero Member
  • *****
  • Posts: 500
  • e!Sankey - show the flow.
    • Umberto - know the flow.
Re: changing order of stacked arrows
« Reply #1 on: January 26, 2017, 09:38 AM »
Hi andrew,

I see you are really getting into the subtleties of Sankey diagrams....  ;)

In the attached image, the arrows don't form a joint arrow head, since there are arriving and departing arrows on the same side of the process node.

One approach to sort this out would be to have all arriving flows on one side, and all departing flows on another side of the process node. If you (temporarily) switch the "Connectivity" setting in the Process Properties to "Left-to-Right", arrows will enter from the left, and leave the process to the right. Then, of course, this is not always possible due to a specific desired arrow routing.

If you intend to have all arrows on one side of the process (incoming and outgoing) then manual stacking using the "Z-Order" option is indeed the right approach. Move all outgoing arrows to the forward element layer, and all incoming to the background layers. At least the arrows will be grouped and not "mixed".

And finally, if you actually want a joint arrow head for all arriving and a joint arrow base/foot for all outgoing arrows while they are still attached to the same side of the process node, then I would recommend to actually make one (small, hidden) process for the arriving arrows, and another one for the departing arrows. From this process one arrow then leads to the actual process node, and one arrows comes from it. Nevertheless, this only works when you have enough space.

Edit: I have added three pics to visualize what I mean. Even so, I personally would opt for having the incoming (green) arrows on one side, and the outgoing (red) arrows on the other side of the process, if there are no general constraints regarding the layout.
 
« Last Edit: January 26, 2017, 10:01 AM by pbeilschmidt »
Peter Müller-Beilschmidt
e!Sankey Forum Moderator
ifu Hamburg GmbH

Offline Jörn Zietz

  • Administrator
  • Hero Member
  • *****
  • Posts: 192
Re: changing order of stacked arrows
« Reply #2 on: January 26, 2017, 12:27 PM »
Hi Andrew,

in addition to Peters post, I would like to show a variation to the last approach to get one single arrow head for all incoming and one for all outgoing arrows (at same side of a process).

I have inserted an intermedia process to sort the zorder at the left side. At the right side I have added one arrow for incoming and one for outgoing. In these arrows I added one flow each containing the sum of the inputs and the outputs.

The intermediate process is not hidden in the attachment and arrow borders are switched - just to make clear, what I have done.

Best regards,
Jörn
Jörn Zietz
e!Sankey Team
ifu Hamburg GmbH

Offline andrew

  • Jr. Member
  • **
  • Posts: 8
Re: changing order of stacked arrows
« Reply #3 on: February 10, 2017, 06:25 PM »
Hi Peter and Jörn,
Thanks for your prompt replies.  They gave me both in understanding what was happening, and ideas to deal with it. Yes, forcing a ‘left-right’ flow does help, but in my case, it’s difficult to use that approach. Therefore, the intermediate solution of at least moving all the incoming outgoing arrows together is useful. Space is tight, but I’m still playing with the third approach presented by Peter. Just to make sure I understand, is Jörn’s approach different than the third approach of Peter? As I read it, it looks to be the same, but with the process visible.
Thanks again! (and sorry it took me so long to write back.)
Andrew

Offline Jörn Zietz

  • Administrator
  • Hero Member
  • *****
  • Posts: 192
Re: changing order of stacked arrows
« Reply #4 on: February 13, 2017, 12:31 PM »
Hi Andrew,

thank you for your answer. It is fine, that our suggestions probably will help finding a good approach for your Sankey diagram.

As far as I understood Peters third idea, he has drawn two intermediate processes: One for the incoming arrows and one for the outgoing arrows. I have added another screenshot and the topmost part of the diagram shows these incoming and outgoing process.

To align the two arrows on the right side of the intermediate processes (like in second part of the attached diagram screenshot), the following steps have to be done:
1. For intermediate processes and the right process choose comand 'Adapt Process Size | Height to Arrow' of context menu.
2. Select 'Inter-Input' first and then 'Process' and click on context menu command 'Align to this Element | Top'
3. Select 'Inter-Output' first and then 'Process' and click on context menu command 'Align to this Element | Bottom'. As long as you do not change flow quantities the arrows run parallel and seem to be stacked.

Now you optionally can hide the intermediate processes and decrease their padding to -27 or so. Then the diagram looks similar to Peters suggestion.

If you have any further question, please let me know :)

Best regards,
Jörn
« Last Edit: February 14, 2017, 08:26 AM by pbeilschmidt »
Jörn Zietz
e!Sankey Team
ifu Hamburg GmbH

Offline andrew

  • Jr. Member
  • **
  • Posts: 8
Re: changing order of stacked arrows
« Reply #5 on: February 13, 2017, 06:59 PM »
Great! Thanks, guys.
Andrew