[파이썬] 축 축소 표기 설정

In many data analysis and visualization tasks, it is common to come across large numbers and long labels on the axes of graphs or plots. This can make the visual representation cluttered and difficult to interpret. To improve readability, one technique that can be used is “축 축소 표기” or axis tick label abbreviation.

In this blog post, we will explore how to set up axis tick label abbreviation in Python using the matplotlib library.

Installing the Required Libraries

Before we begin, make sure matplotlib is installed in your Python environment. You can install it using pip:

pip install matplotlib

Setting Up Axis Tick Label Abbreviation

To set up axis tick label abbreviation, follow these steps:

Step 1: Import the Required Libraries

import matplotlib.pyplot as plt

Step 2: Generate a Plot

Let’s start by generating a plot to work with:

# Sample data
x = list(range(1, 11))
y = [1000000 * i for i in x]

# Plotting
plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Sample Plot')
plt.grid(True)

Step 3: Set Axis Tick Label Formatter

To enable 축 축소 표기 and set the appropriate formatter for the axis tick labels, use the FuncFormatter class from the matplotlib.ticker module. Here’s an example:

import matplotlib.ticker as ticker

# Define the formatter function
def abbreviate_tick_labels(x, pos):
    # Define the unit abbreviations
    units = ['K', 'M', 'B', 'T']

    # Determine the appropriate unit to use
    unit = units[int(x / 1000) - 1]

    # Abbreviate the tick label
    abbreviated_label = f"{x / 1000:.0f}{unit}"

    return abbreviated_label

# Assign the formatter to the axis
plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(abbreviate_tick_labels))

In this example, we define the abbreviate_tick_labels function that handles the 축 축소 표기 logic. It determines the appropriate unit (K, M, B, or T) and formats the tick label accordingly.

Step 4: Display the Plot

Finally, display the plot:

plt.show()

Conclusion

In this blog post, we explored how to set up 축 축소 표기 in Python using the matplotlib library. By abbreviating axis tick labels, we can improve the readability of our data visualizations, especially when dealing with large numbers. This can make the information more accessible and facilitate better understanding for the audience.