Hello
to make a good graph you need to split the curve at each intersection. Then make curve with lines (exploded polyline).
Then fins the root and leaves. Then you could use things like that to make the width
There is my script, not sure you will find it useful. It was made to simulate trees so leaf where 1 and at connection the radius with an equation like that. For the river you have a power of 1.
r^n parent = r^n child1 +r^n child2 (n=3)
I think it is quite mandatory to make some code because you need to work with the topology …
“Walking” on the river is like that begin at a beginning of a river (whatever), go down and do the addition at a branch look if you have values at all branches if not go upstream on a branch till the end. Then ego downstream … until you reach the root (the end). It is classical but not simple.