1LBLBAR(3NCARG) NCAR GRAPHICS LBLBAR(3NCARG)
2
3
4
6 LBLBAR - Draws a complete label bar.
7
9 CALL LBLBAR (IHOV, XLEB, XREB, YBEB, YTEB, NBOX, WSFB,
10 + HSFB, LFIN, IFTP, LLBS, NLBS, LBAB)
11
13 #include <ncarg/ncargC.h>
14
15 void c_lblbar (int ihov, float xleb, float xreb,
16 float ybeb, float yteb, int nbox, float wsfb,
17 float hsfb, int *lfin, int iftp, char *llbs[],
18 int nlbs, int lbab)
19
21 IHOV (an input expression of type INTEGER) is zero if the bar is
22 to be oriented horizontally and non-zero if the bar is to
23 be oriented vertically.
24
25 XLEB, XREB, YBEB, YTEB
26 (input expressions of type REAL) specify a rectangular area
27 in the plotter frame in which the entire bar, including
28 labels, is to fit. Each is a real number between 0 and 1,
29 inclusive. XLEB specifies the position of the left edge of
30 the area; XREB, the position of the right edge of the area;
31 YBEB, the position of the bottom edge of the area; and
32 YTEB, the position of the top edge of the area. A
33 horizontal bar should probably be made wider than it is
34 high; similarly, a vertical bar should probably be made
35 higher than it is wide.
36
37 NBOX (an input expression of type INTEGER) may be positive or
38 negative; its absolute value specifies the number of
39 rectangular pieces (let's call them boxes) into which the
40 bar should be divided. All the boxes will be the same
41 size. A horizontal bar will be divided into boxes using
42 vertical lines and a vertical bar will be divided into
43 boxes using horizontal lines. The boxes in a horizontal bar
44 are considered to be ordered from left to right and the
45 boxes in a vertical bar from bottom to top. This ordering
46 determines the order in which fill indices and labels are
47 given. If NBOX is positive, the boxes will be outlined
48 after being drawn; if NBOX is negative, the boxes will not
49 be outlined.
50
51 WSFB, HSFB (input expressions of type REAL) determine what part of
52 each box is to be color-filled or pattern-filled. Each is a
53 number between 0 and 1; they specify the horizontal and
54 vertical dimensions, respectively, of the filled sub-box,
55 as fractions of the horizontal and vertical dimensions of
56 the whole box. The exact position of each sub-box within
57 its box will be determined for you, depending on how you
58 choose to have the bar labeled.
59
60 LFIN (an input array of type INTEGER) contains a list of
61 indices, one for each box in the bar; each index determines
62 how the filling of the associated box is to be done. These
63 may be color indices or some other kind of indices,
64 depending on the value of the next argument, IFTP.
65
66 IFTP (an input expression of type INTEGER) specifies how the
67 sub-boxes should be filled, as follows:
68
69 · If the value of IFTP is zero, LBLBAR fills each sub-box
70 by calling the routine SFSGFA, in the package Softfill.
71 In this case, the value of the Softfill internal
72 parameter `TY' determines whether filling is done by
73 calls to the GKS routine GFA or by drawing closely-
74 spaced colored lines, which simulates solid fill, or by
75 drawing lines which form patterns of different apparent
76 densities.
77
78 · If the value of IFTP is non-zero, the routine LBFILL
79 will be called to do the filling. You may supply your
80 own version of the routine LBFILL.
81
82 Prior to the filling of the boxes, the current polyline
83 color and width will be set as specified by the values of
84 the internal parameters 'CFL' and 'WFL', respectively.
85 Therefore, if lines are used to do the fill and the method
86 chosen does not otherwise set polyline color and width, the
87 values of 'CFL' and 'WFL' will take effect.
88
89 After filling is complete, the filled sub-boxes may be
90 outlined using the color and line width specified by the
91 Labelbar internal parameters `CBL' and `WBL'. (As mentioned
92 above, this is done only if the argument NBOX is positive;
93 it is suppressed if NBOX is negative.)
94
95 LLBS (an input array of type CHARACTER) provides a list of
96 labels for the bar; the number of such labels may be equal
97 to:
98
99 · the number of boxes less one, in which case the labels
100 are associated with the divisions between the boxes, or
101 to
102
103 · the number of boxes, in which case the labels are
104 associated with the boxes themselves, or to
105
106 · the number of boxes plus one, in which case the first
107 label is associated with the beginning of the bar, the
108 last label with the end of the bar, and the ones in
109 between with the divisions between the boxes.
110
111 The labels are drawn by calls to the Plotchar routine
112 PLCHHQ. They are drawn in the color specified by the
113 Labelbar internal parameter 'CLB' and using the polyline
114 width specified by the Labelbar internal parameter 'WLB'.
115
116 NLBS (an input expression of type INTEGER) specifies the number
117 of labels in the array LLBS.
118
119 LBAB (an input expression of type INTEGER) specifies on which
120 side or sides of the bar the labels are to be written. The
121 value 0 specifies that the bar is to be unlabeled, the
122 value 1 that the labels are to be below a horizontal bar or
123 to the right of a vertical bar, the value 2 that the labels
124 are to be above a horizontal bar or to the left of a
125 vertical bar, and the value 3 that the labels are to be
126 repeated on both sides of the bar. The labels will be
127 scaled in such a way as not to overlap one another or to
128 run outside the area in which the label bar is to lie
129 (except perhaps for labels at the ends of the bar).
130
132 The C-binding argument descriptions are the same as the FORTRAN
133 argument descriptions.
134
136 Use the ncarg command to see the following relevant examples: colcon,
137 cpex05, cpex07, cpex08, elblba, tconpa, and tlblba.
138
140 To use LBLBAR or c_lblbar, load the NCAR Graphics libraries ncarg,
141 ncarg_gks, and ncarg_c, preferably in that order.
142
144 See the labelbar man page for a description of all Labelbar error
145 messages and/or informational messages.
146
148 Online: labelbar, labelbar_params, lbfill, lbgeti, lbgetr, lbseti,
149 lbsetr, ncarg_cbind
150
151 Hardcopy: NCAR Graphics Fundamentals, UNIX Version
152
154 Copyright (C) 1987-2009
155 University Corporation for Atmospheric Research
156 The use of this Software is governed by a License Agreement.
157
158
159
160UNIX March 1993 LBLBAR(3NCARG)