Code

the piechart code does not produce release ready results ... hide it behind WITH_PIEC...
[rrdtool.git] / doc / rrdgraph_graph.src
1 =include name
3 =head1 SYNOPSIS
5 =over 4
7 =item B<to be deprecated commands>
9 =over 4
11 =item B<PRINT> : I<vname> : I<CF> : I<format>
13 =item B<GPRINT> : I<vname> : I<CF> : I<format>
15 =item B<HRULE> : I<value> # I<color> [ :I<legend> ]
17 =item B<STACK> : I<vname> # I<color> [ :I<legend> ]
19 =back
21 =item B<available commands>
23 =over 8
25 =item B<PRINT> : I<vname> : I<format>
27 =item B<GPRINT> : I<vname> : I<format>
29 =item B<COMMENT> : I<text>
31 =item B<VRULE> : I<vname> # I<color> [ : I<legend> ]
33 =item B<LINE>{I<width>} : I<vname> # I<color> [ : I<legend> ] [ : STACK ]
35 =item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:> C<STACK> ]
37 =cut
39 # =item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
41 =pod
43 =item B<TICK> : I<vname> B<#> I<rrggbbaa> [ : I<fraction> [ : I<legend> ] ]
45 =back
47 =item B<to be implemented commands>
49 =over 8
51 =item B<SHIFT> : I<vname> , I<offset>
53 =back
55 =back
57 =head1 DESCRIPTION
59 These instructions allow you to generate your image or report.
60 If you don't use any graph elements, no graph is generated.
61 Similarly no report is generated if you don't use print options.
63 =head1 PRINT
65 =over 4
67 =item B<PRINT> : I<vname> : I<CF> : I<format>
69 I<Deprecated. Use the new form of this command in new scripts.>
70 The first form of this command is to be used with B<CDEF> I<vname>s.
72 =item B<PRINT> : I<vname> : I<format>
74 Depending on the context, either the value component or the time
75 component of a B<VDEF> is printed using I<format>. It is an error
76 to specify a I<vname> generated by a B<DEF> or B<CDEF>.
78 Any text in I<format> is printed literally with one exception:
79 The percent character introduces a formatter string. This string
80 can be:
82 For printing values:
84 =over 4
86 =item *
88 B<%%> just prints a literal '%' character
90 =item *
92 B<%#.#le> prints like 1.2346e+04. Optional numbers # are field width and
93 decimal precision
95 =item *
97 B<%#.#lf> prints like 12345.6789, with optional field width and precision
99 =item *
101 B<%s> place this after B<%le>, B<%lf> or B<%lg>. This will be replaced by the
102 appropriate SI magnitude unit and the value will be scaled
103 accordingly (123456 -> 123.456 k)
105 =item *
107 B<%S> is similar to B<%s>. It does however use a previously defined
108 magnitude unit. If there is no such unit yet, it tries to define
109 one (just like B<%s>). However, if the value is zero, the magnitude
110 unit stays undefined. Thus, formatter strings using B<%S> and no B<%s>
111 will all use the same magnitude unit except for zero values.
113 =back
115 For printing times:
117 =over 4
119 =item *
121 B<%%> just prints a literal '%' character
123 =item *
125 B<%a, %A> prints abbreviated, full weekday name
127 =item *
129 B<%b, %B> prints abbreviated, full month name
131 =item *
133 B<%d, %m, %y, %H, %M, %S> day,month,year,hour,minute,second all in two-digit format
135 =item *
137 B<%Y> year in 4-digit format
139 =item *
141 B<%I, %p>  hour (01..12), 'am' or 'pm'
143 =item *
145 B<%j, %w> day of the week (0..6), day of the year (1..366)
147 =item *
149 B<%c, %x, %X> date+time, date, time
151 =item *
153 B<%U, %W> week number of the current year with either the first Sunday or
154 the first Monday determining the first week
156 =item *
158 B<%Z> time zone
160 =back
162 =back
164 =head1 GRAPH
166 =over 4
168 =item B<GPRINT> : I<vname> : I<CF> : I<format>
170 I<Deprecated. Use the new form of this command in new scripts.>
171 This is the same as C<PRINT> but now it is printed inside the graph.
173 =item B<GPRINT> : I<vname> : I<format>
175 This is the same as C<PRINT> but now it is printed inside the graph.
177 =item B<COMMENT> : I<text>
179 Text is printed literally in the legend section of the graph
181 =item B<HRULE> : I<value> # I<color> [ :I<legend> ]
183 Draw an horizontal line at I<value>. Its color is composed from three
184 hexadecimal numbers specifying the color components (00 is off, FF is
185 maximum) red, green and blue.  Optionally a legend box and string is
186 printed in the legend section. I<value> can be a variable from a B<VDEF>.
187 It is an error to use I<vname>s from B<DEF> or B<CDEF> here.
189 =item B<VRULE> : I<vname> # I<color> [ : I<legend> ]
191 Draw a vertical line at I<time>.  Its color is composed from three
192 hexadecimal numbers specifying the color components (00 is off, FF is
193 maximum) red, green and blue.  Optionally a legend box and string is
194 printed in the legend section. I<time> may be a number or a variable
195 from a B<VDEF>. It is an error to use I<vname>s from B<DEF> or B<CDEF> here.
197 =item B<LINE>{I<width>} : I<vname> # I<color> [ : I<legend> ] [ : STACK ]
199 Draw a line of the specified width into the graph. If the color
200 is not specified, the drawing is done 'blind'.  This is useful when
201 stacking something else on top of this line. Also optional is the
202 legend box and string which will be printed in the legend section
203 if specified. The B<vname> can be generated by B<DEF>, B<VDEF> and
204 B<CDEF>.  If the optional B<STACK> modifier is used, this line is
205 stacked on top of the previous element which can be a B<LINEx> or
206 an B<AREA>
208 =item B<AREA> C<:> I<vname> C<#> I<color> [ C<:> I<legend> ] [ C<:> C<STACK> ]
210 See B<LINE>, however the area between the x-axis and the line will
211 also be filled.
213 =item B<STACK> : I<vname> # I<color> [ :I<legend> ]
215 I<Deprecated.  Use the B<STACK> modifiers on the other commands.>
216 I<Note: the comments on stacking are still valid...>
217 Repeats the last B<LINEx> or B<AREA> however it doesn't start at the
218 x-axis but rather on top of the previous element. This implies that
219 there needs to be something to stack on. An invisible B<LINEx> or
220 B<AREA> is something you can stack on, an unknown value is not!
222 Note: When you stack on something that was I<unknown>, the whole
223 stack will be I<unknown> for that point in time. If the beginning
224 is undefined, there's no way to end somewhere...  If you want to
225 graph this stacked variable anyway you need to make sure that the
226 B<LINEx> or B<AREA> it gets stacked on is not unknown. Use a CDEF
227 instruction with B<IF> and B<UN> to do so.
229 =cut
231 #=item B<PART> : I<vname> B<#> I<rrggbbaa> [ B<:> I<legend> ]
233 #B<RRDtool> has now support for B<pie charts>. If you include the
234 #B<PART> command, the canvas is extended to make room for a chart
235 #The size of the canvas is determined by the lesser of
236 #L<width and height|rrdgraph/item_Size>.
238 #Pie parts will be concatenated, the first one will start at the
239 #top and parts will be created clockwise.  The size of the part
240 #is defined by the value part of the L<VDEF|rrdgraph_data/VDEF>
241 #function.  It should return a number between 0 and 100, being a
242 #percentage.  Providing wrong input will produce undefined results.
244 =pod
246 =item B<TICK> : I<vname> B<#> I<rrggbbaa> [ : I<fraction> [ : I<legend> ] ]
248 Plot a tick mark (a vertical line) for each value of I<vname> that is
249 non-zero and not *UNKNOWN*. The I<fraction> argument specifies the
250 length of the tick mark as a fraction of the y-axis; the default value
251 is 0.1 (10% of the axis). Note that the color specification is not
252 optional.
254 =item B<SHIFT> : I<vname> , I<offset>
256 Using this command B<RRDtool> will graph the following elements
257 with the specified offset.  For instance, you can specify an
258 offset of S<( 7*24*60*60 = ) 604800 seconds> to "look back" one
259 week. Make sure to notify the viewer you did so...
260 The offset will be valid until the next B<SHIFT> command, which
261 can have an offset of zero to restore normal graphing.
262 As with the other graphing elements, you can specify a number or
263 a variable here.
265 =back
267 =head1 NOTES on legend arguments
269 =head2 Escaping the colon
271 In a ':' in a I<legend> argument will mark the end of the legend. To
272 enter a ':' into a legend, the colon must be escaped with a backslash '\:'.
273 Beware, that many environments look for backslashes themselves, so it may
274 be necessary to write two backslashes so that one is passed onto rrd_graph.
276 =head2 String Formatting
278 The text printed below the actual graph can be formated by appending special
279 escaped characters at the end of a text. When ever such a character occurs,
280 all pending text is pushed onto the graph according to the character
281 specified.
283 Valid markers are: B<\j> for justified, B<\l> for left aligned, B<\r> for
284 right aligned and B<\c> for centered. In the next section there is an
285 example showing how to use centered formating.
287 Normally there are two space characters inserted between every two items
288 printed into the graph. The space following a string can be suppressed by
289 putting a B<\g> at the end of the string. The B<\g> also ignores any space
290 inside the string if it is at the very end of the string. This can be used
291 in connection with B<%s> to suppress empty unit strings.
293  GPRINT:a:MAX:%lf%s\g
295 A special case is COMMENT:B<\s> this inserts some additional vertical space
296 before placing the next row of legends.
298 If you are using the proportional font in your graph, you can use tab characters
299 or the sequence B<\t> to lin-up legend elements. Note that the tabs inserted are
300 relative to the start of the current legend element!
302 =include see_also