aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user/gra_plac
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/gra_plac')
-rw-r--r--doc/user/gra_plac51
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/user/gra_plac b/doc/user/gra_plac
new file mode 100644
index 0000000..7084eb2
--- /dev/null
+++ b/doc/user/gra_plac
@@ -0,0 +1,51 @@
+@Section
+ @Title { Placing arbitrary objects on the graph }
+ @Tag { arbobj }
+@Begin
+@PP
+As we have just seen, the repertoire of symbols that @Code "@Data" is
+able to place on the graph is quite limited. However, there is a way
+to place any number of arbitrary Lout objects anywhere on the graph,
+using the @Code objects option to the @Code "@Graph" symbol:
+@ID @OneRow @Code {
+"@Graph"
+" objects {"
+" @CTR at {2.5 6.0} @Eq { y = x sup 2 }"
+" @CTR at {4.5 7.0} @Eq { y = x sup 3 }"
+" }"
+}
+where we have used the @Code "@Eq" symbol from Chapter {@NumberOf equations}
+twice to place two equations onto the graph at the points {@Code "2.5 6.0"}
+and {@Code "4.5 7.0"} respectively. An example result appears in the next
+section.
+@PP
+In addition to {@Code "@CTR"}, there are eight other symbols which may
+be used within the @Code "objects" option in the same way: {@Code "@NW"},
+{@Code "@SW"}, {@Code "@SE"}, {@Code "@NE"}, {@Code "@N"}, {@Code "@W"},
+{@Code "@S"}, and {@Code "@E"}. These place the object just to the
+northwest of the point, to the southwest, and so on instead of centring
+it over the point. By `to the northwest' we mean that the object's bottom
+right corner coincides with the point, and similarly for the other symbols.
+@PP
+Each of these symbols has a @Code "margin" option which enlarges the
+object by adding a margin around it before placing it:
+@ID @Code "@NW at {2.5 6.0} margin { 0.3 ft } @Eq { y = x sup 2 }"
+shows the default value, 0.3 times the current font size. As the margin
+is increased, the object moves further away from the point.
+@PP
+The major advantage of the @Code "objects" option over the @Code "@Data"
+symbol is that arbitrary Lout objects may be used. The @Code "@Data"
+symbol however is able to place many copies of its symbols onto the graph,
+and also allow for them when connecting points together with lines. Also,
+the points within the @Code "objects" option are not taken into account
+when deciding on the permissible range of x and y values, whereas the
+points within the @Code "@Data" symbol are. Altogether it seems best
+to use the @Code "@Data" symbol for the bulk of the data points, and to
+use the @Code "objects" option for adding a small number of labels or
+other decorations.
+@PP
+The @Code "objects" option may contain @Code "@Graph" symbols, but in
+that case, owing to a deficiency in the implementation, those symbols
+will need to have their @Code save options (Section {@NumberOf grerrors})
+set to {@Code yes}.
+@End @Section