IndexTranslator#

class qf_lib.plotting.helpers.index_translator.IndexTranslator(labels_to_locations_dict: Mapping[str, Number] = None)[source]#

Bases: object

Object which automatically translates label-indexed data into number-indexed data.

Parameters:

labels_to_locations_dict (Mapping[str, Number]) – Contains a mapping from labels to numbers (used as index values for plotting). Must have unique keys and unique values.

inv_translate(translated_values: Number | Sequence[Number]) Sequence[str][source]#

Translates numeric coordinate into label. Requirement: the Translator must be familiar with mapping the label into numeric coordinate (either the translate must have been called or the labels_to_locations_dict must contain a proper entry).

Parameters:

translated_values – numeric values to be changed into labels (e.g. [0.0, 1.0, 2.0])

Returns:

labels corresponding to numeric values

Return type:

labels

classmethod setup_ticks_and_labels(chart: Chart)[source]#

Setups ticks’ locations and labels in the given chart if it used IndexTranslator.

translate(values: str | Sequence[str]) Sequence[Number][source]#

Translates label into numeric coordinate. If the translation is done for the first time for this value it may modify the state of the translator (it may introduce a new translation).

Parameters:

values – values to be translated (e.g. [“SPY”, “GOOGL”])

Returns:

value translated into numeric coordinate

Return type:

translated values