def _set_categorical_axis_default_range()

in chartify/_core/plot.py [0:0]


    def _set_categorical_axis_default_range(self, vertical, data_frame, numeric_column):
        """Set numeric axis range based on the input data."""
        max_value = data_frame[numeric_column].max()
        min_value = data_frame[numeric_column].min()

        max_ge_zero = max_value >= 0
        min_ge_zero = min_value >= 0

        range_start, range_end = None, None
        if max_ge_zero and min_ge_zero:
            range_start = 0
        elif not max_ge_zero and not min_ge_zero:
            range_end = 0

        max_value = max(max_value, 0)
        min_value = min(min_value, 0)

        if vertical:
            self._chart.axes.set_yaxis_range(start=range_start, end=range_end)
            self._chart.axes.set_yaxis_tick_format(self._axis_format_precision(max_value, min_value))
        else:
            self._chart.axes.set_xaxis_range(start=range_start, end=range_end)
            self._chart.axes.set_xaxis_tick_format(self._axis_format_precision(max_value, min_value))