Scale Plot in Python

Motivated by the need to better visualize the data, the scale plot is a useful tool to show the data in a more readable way. The main features include:

  • Scale: Scale the plot to a specific range, which can be useful when the data is too large or too small.

Scale

The scaling process follows two steps:

  • Define Custom Scaling Function: Define a custom scaling function to scale the data, which should be monotonically increasing function in general.
  • Define Custom Formatter: Define a custom formatter to display the original tick values, which actually a inverse function to custom scaling function.
# Define custom scaling function def custom_scale(y): # Scale the values differently based on their range if y >= 1: return np.log(y) + 1 # Scale up values greater than or equal to 20 else: return y # Scale down values less than 20 def y_fmt(y, pos): # Apply inverse of custom scaling to retrieve original values if y >= 1: return str(int(np.exp(y - 1))) else: return str(y) # Define a custom formatter to display the original tick values from matplotlib.ticker import FuncFormatter ax.yaxis.set_major_formatter(FuncFormatter(y_fmt))