Pie chart — version history
A pie, a doughnut or a half wheel in which each angle is a share of the whole: labels inside or outside, a total in the hole, a legend that hides a slice, and every slice reachable from the keyboard. Introduced in 5.0.
5.0 #
New #
- Slices added with a key, a name and a value (
of_add_slice), with a colour of their own or from a palette that has one set for light themes and one for dark themes, and follows a change of theme. - Each angle is the share of the slice in the total of the slices shown; a negative value has no angle.
of_totaland theid_percentof a slice read the total and the shares as the chart shows them. - A hole as a fraction of the radius (
id_inner_radius) turns the pie into a doughnut, and a text in the hole (is_center_text) can say#total#and#count#. - A start angle (
ii_start_angle, 0 at the top) and a sweep angle (ii_sweep_angle) draw part of a circle — a half wheel makes a gauge — fitted to the room it takes; slices follow one another clockwise or not (ib_clockwise). - Data labels (
ib_data_labels) say what a template says (is_label_format:#value#,#percent#,#label#,#key#,#total#), inside the slices in a colour readable over them, or outside the wheel, joined to their slice by a line and spread so that none sits on another (is_label_position). A slice too narrow for its label inside drops it. - The legend goes beside, above or below the wheel (
is_legend_location), can give the value and the share of each slice (ib_legend_values), and a click on an entry hides its slice: the others share the wheel again andue_slice_toggledsays which one.ib_visiblehides a slice from the code. - A panel names the slice under the pointer with its value and its share (
ib_value_tooltip), and the slice slides out (id_hover_push_out);id_push_outpushes a slice out for good. ue_slice_clickedgives the key and the value of a clicked slice,ue_slice_rclickedthe key of a right-clicked one;ue_slice_hoveredreports the slice under the pointer to an application that asks for it (ib_track_hover).- New values for several slices in one call (
of_set_values) slide every slice to its new angle together;of_get_valuesreads them back. - The wheel arrives animated, each slice opening its angle, with the duration, the curve and the delay between slices of your choice (
ib_animated,ii_anim_duration,is_anim_easing,ii_anim_delay); a workstation set to reduce motion is followed. - Keyboard: Tab reaches the chart, the arrows, Home and End walk the slices, Enter or Space raises
ue_slice_clicked, the Menu key or Shift+F10ue_slice_rclicked; the slice reached is outlined, pushed out and named to screen readers. - Number format of the labels, the legend, the panel and the centre text (
of_set_value_format,of_clear_value_format), with the separators of the display language. - An empty wheel is drawn when there is nothing to share. The component reports its ideal height on demand (
ib_auto_height), greys out and leaves the Tab order when disabled (ib_enabled). - An add never replaces a slice: a key already held, empty or holding
/or|is refused with-5, as is a removal of an unknown key; a removed slice takes its handle with it. - Right-to-left applications are followed for the legend; the wheel keeps its drawing direction.