matplotlib 을 활용해 Research Figure 그리기

James·2021년 9월 3일
0

data visualization

목록 보기
2/2
post-thumbnail

Introduction

그동안의 연구 기간동안 참 많은 figure 들을 작업하였습니다.

paper 에 들어가는 figure 의 경우 비슷한 형태로 그리는 경우가 많은데,
기존에 그려뒀던 figure 들 중에서 적당한 것을 골라 수정하는 것이 편리합니다.

하지만 기존에 그려둔 figure 의 코드를 찾기도 어렵고,
잘 기억도 나지 않아 여기에 코드와 함께 정리해서 두고두고 찾아 보려 합니다.
이후 새로운 figure 를 그린다면 계속해서 업데이트 하며 사용할 생각입니다.

Figures

1. two-sided bar plot with scatter

두 개의 y축으로 서로 다른 항목을 bar plot 으로 표현하고, 제 3의 값을 scatter plot 으로 표현합니다.
scatter plot 의 경우 두 bar plot 의 중앙에 위치합니다.

code


2. two-sided bar plot with scatter (compare two types)

위에서 작업한 two-sided bar plot with scatter 의 심화 버전 figure 입니다.
두 개의 type 에 따라 전반적인 값을 비교할 필요가 있을 때, figure 를 두 섹션으로 구분하고
각 섹션에 bar plot with scatter 를 그리는 것입니다.

이번 코드에서는 새로운 시도를 해 보았는데, bar plot 의 styling 을 dictionary 로 pre-define 한 다음, bar plot 을 그릴 때 해당 style 데이터를 불러와 적용하는 것입니다.
해당 코드는 아래와 같은 형태입니다.

solid_style = {'color': 'gray', 'edgecolor': 'black', 'alpha': 0.65, 'linewidth': 1.5}
rects1 = ax1.bar(x_pos_1-(bw * 1.15/2), val1_X, bw, label='A', **solid_style)

이렇게 style 을 사전 정의하니 코드의 사용성이 매우 좋아져 자주 사용할 생각입니다.

code


3. true-pred scatter plot

regression 문제에 대해서 성능을 보이기 위한 방법으로 사용되는 figure 입니다.
중앙의 x=y 라인을 기준으로, 크게 벗어날 수록 예측 성능이 나쁜 것입니다.

code


4. stacked bar plot

하나의 total 값이 있고, 여러 값으로 분할하여 보기 위한 stacked bar 를 구성할 때 사용하는 figure 입니다.

code


Conclusion

계속해서 업데이트 하고 있습니다.

profile
indexing

0개의 댓글