(Simple?) Plotting labels for line graphs

I draw elevation profiles showing height gain / loss along the path, as shown below:

Example elevation profile with manually placed tags http://img38.imageshack.us/img38/4079/profilewithgoodlabels.png

This is basically a linear graph with distance from the start along the x axis and elevation along the y axis.

I would like to provide vivid labels with place points at interesting points along the trail, like the ones I manually added to the sample. I am looking for ideas on how to better place these labels so that:

  • They do not overlap with each other.
  • They do not overlap with the profile itself, or at least it happens in its pure form (it seems that this may be necessary, for example, in the middle of a steep valley)
  • They do not go beyond restricting the overall image.

To achieve these goals, I believe that I can (at least):

  • Flip the text around (see example)
  • Choose the right length for leaders
  • Choose suitable angles for leaders (but minimizing variation may be desirable for aesthetic reasons).
  • High elevation marks for less important locations in crowded areas.
  • Abbreviated names in crowded areas ( PlaceNamemy environment already supports the abbreviation in really good form, so the transition from "South Twin Mountain" to "S Twin Mtn" is simple).
  • Discard less important annotations completely in crowded areas.

, . , ? ( , , , ?) , - "", ( , ). , .

, ? ? ? ? .NET, ?

( , , , -drawing library)

+5
3

:

  • ,
  • 2*size
  • , , .
  • . ,
  • ,
  • ,

, , .

, .

+2

, , , , , , , , , ... . , ( , ), . . , , , .

+1

, . ( ) . , , , . node , , - spring . , , .

. , - .

It must be changed. For example, there should be a positive force upwards so that they do not go below the chart. You also need to incorporate the idea of ​​translating text left or right. But it should give a reasonable result for most inputs.

The article I referenced had a project here .

+1
source

All Articles