class Tioga::Legends
These are the methods and attributes for plot legends.
Public Instance Methods
Used as the alignment value in showing legend text.
# File lib/Tioga/Legends.rb, line 182 def legend_alignment end
This dictionary holds defaults for show_plot_with_legend
.
# File lib/Tioga/Legends.rb, line 75 def legend_defaults end
Returns the height (in units of text heights) of the currently saved legend information.
# File lib/Tioga/Legends.rb, line 24 def legend_height end
The current array of saved legend dictionaries. See #save_legend_info for details.
# File lib/Tioga/Legends.rb, line 82 def legend_info end
Used as the justification value in showing legend text.
# File lib/Tioga/Legends.rb, line 190 def legend_justification end
Each line in a legend is shifted up from the text baseline by this amount measured in units of text height. The corresponding distance in figure coordinates is (legend_line_dy * #legend_scale * default_text_height_dy).
# File lib/Tioga/Legends.rb, line 112 def legend_line_dy end
If this is non-negative, then it is used as the line_width attribute when stroking the lines in a legend. If it is negative, then each legend line is stroked using the value of the line_width attribute at the time the legend information for the entry was saved by save_legend_info.
# File lib/Tioga/Legends.rb, line 166 def legend_line_width end
The x position for the start of lines in a legend, measured in units of text height. The corresponding position in figure coordinates is (legend_line_x0 * #legend_scale * default_text_height_dx).
# File lib/Tioga/Legends.rb, line 92 def legend_line_x0 end
The x position for the end of lines in a legend, measured in units of text height. The corresponding position in figure coordinates is (legend_line_x1 * #legend_scale * default_text_height_dx).
# File lib/Tioga/Legends.rb, line 102 def legend_line_x1 end
Used for determining positions in the legend and for showing legend text.
# File lib/Tioga/Legends.rb, line 174 def legend_scale end
The distance in y to move down after a legend line entry, measured in units of text height. The corresponding distance in figure coordinates is (legend_text_dy * #legend_scale * default_text_height_dy).
# File lib/Tioga/Legends.rb, line 155 def legend_text_dy end
The assumed width of text in a legend, measured in units of text height. The corresponding width in figure coordinates is (legend_text_width * #legend_scale * default_text_height_dx). The figure bounding box is expanded if necessary to provide for this much space. If #legend_text_width is negative, then the system will provide a default value depending on the placement of the legend.
# File lib/Tioga/Legends.rb, line 125 def legend_text_width end
The x position for the start of text in a legend, measured in units of text height. The corresponding position in figure coordinates is (legend_text_xstart * #legend_scale * default_text_height_dx).
# File lib/Tioga/Legends.rb, line 135 def legend_text_xstart end
The y position for the start of text in a legend, measured in units of text height. The corresponding position in figure coordinates is (legend_text_ystart * #legend_scale * default_text_height_dy).
# File lib/Tioga/Legends.rb, line 145 def legend_text_ystart end
Clears the current legend information.
# File lib/Tioga/Legends.rb, line 13 def reset_legend_info end
Saves information for later use in creating a legend. If called with a string as argument, is equivalent to calling with a dictionary having a single entry with key 'text' and value the string.
Dictionary Entries
'text' => a_string # text of the legend 'line_color' => a_color # defaults to self.line_color 'line_width' => a_float # defaults to self.line_width 'line_cap' => a_line_cap # defaults to self.line_cap 'line_type' => a_line_type or 'None' # defaults to self.line_type 'dy' => a_float # defaults to self.legend_text_dy 'marker' => a_marker # defaults to nil 'marker_color' => a_color # defaults to self.line_color 'marker_scale' => a_float # defaults to 0.5 'marker_dict' => a_dictionary # defaults to nil
The dictionary holding the information is appended to the #legend_info array. If the 'marker' entry is present, then the marker with the given 'marker_color' and 'marker_scale' will be shown in the middle of the legend line. If the 'marker_dict' entry is present, it will have the values for 'x' and 'y' set to the location of the middle of the legend line and then it will be passed to the show_marker method. This gives you the option of using the full range of marker functionality in legends – perhaps you'd like to use a line marker that is rotated, stretched, filled in one color, and stroked in another! Sometimes you just want to have a marker in the legend without a line; do this by setting line_type to 'None'.
# File lib/Tioga/Legends.rb, line 67 def save_legend_info(arg) end
Creates a vertical space of dy text heights in the legend.
# File lib/Tioga/Legends.rb, line 17 def save_legend_separator(dy) end
Shows the legend in the current frame. If given a function arguement, it calls the function with bounds [left, right, top, bottom] for the rectangle where the legend will be shown. You can use this opportunity to provide a background for the legend info and a frame around it too if you'd like.
# File lib/Tioga/Legends.rb, line 35 def show_legend(legend_background_function=nil) end