# Labeling plot lines like clabel

I have a problem where I cannot mesh up a square space and use contour
because there are many infeasible regions of the plot (no solution to
the equations of which I am plotting level curves). Here is an
example of the type of contour plot I am looking to achieve:
http://www.dlpeterson.com/levelcurve_test.pdf

The level curve lines in the .pdf above were generated by numerically
integrating the vectors that are tangent to the level curve. Given an
initial condition on the level curve, I can integrate forward and
backwards in the parameter to generate the whole level curve. The
problem is that this approach gives me numpy arrays that have the x,y
pairs for each point on the line. So I plot the level curves using
the plot command, but then I have no good way to label them.

Is it possible to label plot lines analogously to the way they show up
on clabel? I had to do all the line labeling by hand in Illustrator,
after I generated the plot, and it was a pain, and very time
consuming.

Thanks,
~Luke

Luke wrote:

I have a problem where I cannot mesh up a square space and use contour
because there are many infeasible regions of the plot (no solution to
the equations of which I am plotting level curves). Here is an
example of the type of contour plot I am looking to achieve:
http://www.dlpeterson.com/levelcurve_test.pdf

The level curve lines in the .pdf above were generated by numerically
integrating the vectors that are tangent to the level curve. Given an
initial condition on the level curve, I can integrate forward and
backwards in the parameter to generate the whole level curve. The
problem is that this approach gives me numpy arrays that have the x,y
pairs for each point on the line. So I plot the level curves using
the plot command, but then I have no good way to label them.

Is it possible to label plot lines analogously to the way they show up
on clabel? I had to do all the line labeling by hand in Illustrator,
after I generated the plot, and it was a pain, and very time
consuming.

I don't think there is any built-in easy way to do it.

I have thought before that it would be good to have labeled-line and possibly labeled-line-collection classes, which contour clabel could then use, and which would allow easy manipulation of the label locations (position along the line) as well as text properties. The idea is to have the line-breaking be done late and reversibly--probably at drawing time--so that the break in the line always fits the text, and so that the text can be moved at will. I don't have time to work on this, though. Maybe someone else will pick it up.

Eric

···

Thanks,
~Luke