Labels in Manifold that are created from fields may be rotated using the Label Rotation Angle button in the format toolbar for labels. This topic assumes the reader is familiar with labels in general and with the techniques set forth in the Creating Labels from Fields topic.
![]()
To rotate all of the labels in a given labels component, open the labels component, press the Label Rotation Angle button and choose a rotation value. To rotate only some labels, turn on per-label formatting, select the labels to be rotated and then specify the rotation angle for those labels. See the Formatting Individual Labels topic for details on formatting some labels but not others.
Example
Suppose we have a labels component containing labels created from a drawing using a Name field. The labels show the locations of towns.

We would like to rotate all of the labels by 70 degrees.

To do so we first click on the Label Rotation Angle button.

In the pull-down menu, we choose 70. If we desired some value other than those shown in the pull-down menu, we could choose the More button and specify a value from 0 to 360.

After we choose 70 all of the labels will be rotated by 70 degrees.

Note that the orientation of labels is specified from 0 degrees to 360 degrees as seen above. A label with 0 rotation is in the normal, upright position. A label with 180 degree rotation is upside down.
Thematically Formatted Rotation
We can also thematically format labels so that the rotation of each label is controlled by a data field. To do so, click on the Label Rotation Angle button.

In the pull-down menu, choose Theme.

This opens the same Format dialog that is used for thematic formatting of many display characteristics in Manifold. See the Thematic Formatting topic for details on this dialog. For this example, we will use a Population field in our map with an Equal Count method to arrange the labels into five intervals. The rightmost column gives the rotation to be assigned to each. We specified the rotation values by double clicking into each value and entering a number like 0, 60, 120 and so on.

When we press OK the labels will be thematically formatted into different rotations based upon the Population field for each label.
Example
Suppose we have a drawing, called "Bearing Lines" with three lines, shown here formatted using a directional line style with an arrowhead indicating the direction of the line.

The drawing's table shows that each line has a Name field containing values like "Track A," "Track B" and "Track C." The Bearing (I) intrinsic field is turned on for display. It has been formatted to show only integer values.

We will create labels for each line. To do so, we right click on the Bearing Lines drawing in the project pane and choose Create - Labels.

In the Create Labels dialog we give the new labels component the name of "Bearing Labels," we double click on the Bearing (I) intrinsic field to add it to the label text and then we press OK.

If we show the labels component together with the lines drawing in a map, we can see the labels created for each line are positioned over each line.
For a cleaner effect, we can use a box style for the labels. We can format the labels in the map by clicking on the labels layer tab to make it the active layer.

In the format toolbar we set background color to white and then we click on the style well and choose a box style for the label.

The result is a nice box label style that makes it easy to read the label. Now that we would like to rotate each label according to the bearing of each line that it labels.

To do so we click on the Label Rotation Angle button and choose Theme.

In the Format dialog, we choose Bearing (I) as the controlling field and use the Unique Values method. For each value we click into the label rotation box and set the rotation to be the same as the bearing. We press OK.

Each label will then be rotated by the number of degrees in the bearing.
If we like, we can use a different label text. For example, we could open the Bearing Labels component and then choose Labels - Text to edit the text used for the label.

In the Bound label Text dialog we could delete the [Bearing (I)] specification that generated the bearing text and double click on Name to use this field to create the label for each line, labeling it with "Track A," "Track B" or "Track C."

Techniques like the above can generate a very wide range of label styles and effects.

Using different label styles, for example, we can easily alter the appearance of the labels.

A Short Cut
In the illustration showing the Format dialog we had only three lines and so it was easy to manually enter the values 116, 166 and 54 as rotation values to correspond to the bearings of the lines. If we had hundreds of lines we would like this to be done automatically.
If desired, we can also rotate each point based upon the value of the Bearing (I) field using thematic formatting. To do so, press the Label Rotation Angle button and then choose Theme. In the thematic formatting dialog that follows, choose a thematic format that sets the rotation angle by the Bearing (I) field. The fastest way to do this is to use the Continuous shading option in the thematic format dialog.

Using the values of the Bearing (I) field to control rotation:
1. Open the drawing, click the Label Rotation Angle button and choose Theme.
2. In the Format dialog, choose Bearing (I) as the field and any interval-based method, such as Equal Count as the method.
3. Choose 2 as the number of breaks.
4. Check the Continuous shading box.
5. Press the Tally button to establish two intervals.
6. Double click into the two Values cells and change the upper one to 0 and the lower one to 360.
7. Double click into the rotation values and change the upper one to 0 and the lower one to 360. Press OK.
The above procedure creates two breaks, of 0 and 360 degrees and then continuously formats all values in between. In effect, this assigns a continuous range of rotations from 0 to 360 degrees to any Directions values between 0 and 360.
Example: Adjusting Rotation with Active Columns
The illustrations above and below show how the text line of the label is perpendicular to the bearing of the line, because a zero rotation shows text in its normal reading position.

If desired, we can use Active Columns to create a derived Bearing field that can be used to rotate the labels at any angle relative to the lines.

We begin by opening the drawing's table and adding an active column. We'll call the column as well as the function that drives it Bearing.

For a script we will provide a simple routine that subtracts 90 degrees from Bearing (I) while "wrapping" at the 0 mark so that resulting values are always between 0 and 360.

For efficiency, we used the on user request setting of Compute, so to see the values computed by the active column we right click on the Bearing column heading and choose Recompute. We can see that the values of the Bearing active column are indeed 90 degrees counter clockwise from the values in the Bearing (I) column.

To use these values to control rotation, we open the thematic format for the label rotation and use the Bearing field instead of the Bearing (I) field.

The result is that labels are displayed with rotation angles that match the bearing of the lines. Lines with a bearing of 270 degrees will show the text right side up.
However, it could be that we prefer to have labels match the direction of the line but appear as much right side up as possible.

This involves a more complex routine that has a different arrangement for each quadrant between 0 and 360 as implemented above. If we use the above script for the Bearing function we get a different visual effect.

The result is that labels appear mostly right side up, parallel to the lines, regardless of which way the lines point.
Note that the above discussion is helpful for understanding how rotations and active columns work, but the last effect can be achieved automatically within Manifold by using the Align labels to lines option when creating the labels in the first place. There is no need to use an active column or write a script to show labels mostly right side up when aligned to lines.
See Also