[파이썬] `ggplot`에서의 범례 조작

ggplot은 데이터 시각화에 널리 사용되는 R 패키지입니다. 하지만 Python에서도 ggplot을 이용할 수 있습니다. ggplot은 강력한 그래픽 기능을 제공하며, 이를 통해 범례도 쉽게 조작할 수 있습니다. 이번 글에서는 Python에서 ggplot을 사용하여 범례를 다루는 방법에 대해 알아보겠습니다.

범례 표시하기

가장 기본적인 범례 표시 방법은 scale_colour_manual()을 사용하는 것입니다. 이를 통해 원하는 색상과 레이블을 지정할 수 있습니다. 다음은 예제 코드입니다.

from ggplot import *

p = ggplot(mtcars, aes(x='mpg', y='wt', color='cyl')) + \
    geom_point() + \
    scale_colour_manual(values=['red', 'blue', 'green'], labels=['4 cyl', '6 cyl', '8 cyl'])

print(p)

위 예제는 mtcars 데이터셋에서 mpgwt를 x, y축으로 사용하고 cyl을 color로 지정하여 산점도를 그립니다. scale_colour_manual()을 통해 color 값을 red, blue, green으로 지정하고, 각각의 레이블을 4 cyl, 6 cyl, 8 cyl로 지정합니다.

범례 위치 조정하기

기본적으로 범례는 그래프의 오른쪽 상단에 위치합니다. 하지만 theme()을 사용하여 원하는 위치로 이동할 수 있습니다. 다음은 예제 코드입니다.

from ggplot import *

p = ggplot(mtcars, aes(x='mpg', y='wt', color='cyl')) + \
    geom_point() + \
    scale_colour_manual(values=['red', 'blue', 'green'], labels=['4 cyl', '6 cyl', '8 cyl']) + \
    theme(legend_position='top')

print(p)

위 예제에서는 theme(legend_position='top')을 사용하여 범례를 그래프의 상단으로 이동시킵니다. 'right', 'left', 'bottom'과 같이 다른 위치도 지정할 수 있습니다.

범례 제거하기

만약 그래프에서 범례를 제거하고 싶다면, theme()을 사용하여 legend_position'none'으로 지정하면 됩니다. 다음은 예제 코드입니다.

from ggplot import *

p = ggplot(mtcars, aes(x='mpg', y='wt', color='cyl')) + \
    geom_point() + \
    scale_colour_manual(values=['red', 'blue', 'green'], labels=['4 cyl', '6 cyl', '8 cyl']) + \
    theme(legend_position='none')

print(p)

위 예제는 범례를 전혀 표시하지 않습니다.

결론

Python에서 ggplot을 사용하여 범례를 조작하는 방법에 대해 알아보았습니다. scale_colour_manual()을 사용하여 범례의 색상과 레이블을 지정할 수 있으며, theme()을 사용하여 범례의 위치를 조정하거나 제거할 수 있습니다. 이러한 기능을 통해 데이터 시각화에서 보다 자유로워질 수 있습니다.