Matplotlib 대 ggplot2: 어느 것을 사용해야 합니까?


모든 데이터 과학 분야에서 가장 인기 있는 데이터 시각화 라이브러리 중 두 가지는 ggplot2Matplotlib 입니다.

ggplot2 라이브러리는 R 통계 프로그래밍 언어에서 사용되는 반면 Matplotlib는 Python에서 사용됩니다.

두 라이브러리 모두 고도로 사용자 정의된 데이터 시각화를 생성할 수 있지만 일반적으로 ggplot2를 사용하면 Matplotlib에 비해 더 적은 코드 줄로 이를 수행할 수 있습니다.

이 점을 설명하기 위해 두 라이브러리를 모두 사용하여 동일한 유형의 차트를 만드는 방법을 보여 드리겠습니다.

꺾은선형 차트: ggplot2 대 Matplotlib

다음 코드는 ggplot2를 사용하여 선형 차트를 만드는 방법을 보여줍니다.

 library (ggplot2)

#create data frame
df <- data. frame (day=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 sales=c(2, 4, 5, 8, 6, 12, 15, 19, 15, 22))

#create line chart
ggplot(df, aes(x=day, y=sales)) +
  geom_line(size= 1.2 , col=' purple ') +
  ggtitle(' Sales by Day ') +
  xlab(' Day ') +
  ylab(' Sales ')

다음 코드는 Matplotlib를 사용하여 동일한 선 차트를 만드는 방법을 보여줍니다.

 import pandas as pd
import matplotlib. pyplot as plt 

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' sales ': [2, 4, 5, 8, 6, 12, 15, 19, 15, 22]})

#create line chart
plt. plot (df. day , df. sales , color=' purple ')
plt. title (' Sales by Day ', loc=' left ')
plt. ylabel (' Sales ')
plt. xlabel (' Day ') 

이 예에서 각 플롯을 생성하는 데 필요한 코드 줄 수는 ggplot2와 Matplotlib에서 거의 동일합니다.

산점도: ggplot2 대 Matplotlib

다음 코드는 포인트가 카테고리별로 색상이 지정되는 ggplot2 에서 산점도를 생성하는 방법을 보여줍니다.

 library (ggplot2)

#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 assists=c(1, 2, 2, 4, 5, 7, 8, 10),
                 points=c(4, 6, 10, 8, 12, 15, 22, 28))

#create scatterplot
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(col=team), size= 3 ) 

다음 코드는 Matplotlib를 사용하여 동일한 산점도를 생성하는 방법을 보여줍니다.

 import pandas as pd
import matplotlib. pyplot as plt 

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' assists ': [1, 2, 2, 4, 5, 7, 8, 10],
                   ' points ': [4, 6, 10, 8, 12, 15, 22, 28]})

#define colors to use
color_list = [] 
for x in df[' team ']: 
    if x == ' A ': color_list. append (' #F8766D ') 
    else : color_list. append (' #00BFC4 ') 

#create scatterplot
plt. scatter (df. assists , df. points , c=color_list)
plt. ylabel (' points ')
plt. xlabel (' assists ')

ggplot2와 동일한 플롯을 생성하려면 Matplotlib에서 더 많은 코드 라인을 사용해야 했습니다.

히스토그램: ggplot2 대 Matplotlib

다음 코드는 ggplot2 에서 히스토그램을 생성하는 방법을 보여줍니다.

 library (ggplot2)

#create data frame
df <- data. frame (x=c(2, 2, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8,
                     10, 11, 11, 11, 12, 13, 14, 14))

#create scatterplot
ggplot(df, aes(x=x)) +
  geom_histogram(bins= 6 , fill=' red ', color=' black ') +
  ggtitle(' My Histogram ') 

다음 코드는 Matplotlib를 사용하여 유사한 히스토그램을 만드는 방법을 보여줍니다.

 import pandas as pd
import matplotlib. pyplot as plt 

#createDataFrame
df = pd. DataFrame ({' x ': [2, 2, 4, 4, 4, 5, 5, 6, 7, 7, 8, 8,
                         10, 11, 11, 11, 12, 13, 14, 14]})

#create histogram
plt. hist (df[' x '], bins= 6 , color=' red ', ec=' black ')
plt. title (' My Histogram ', loc=' left ') 
plt. xlabel (' x ') 
plt. ylabel (' Count ') 

다시 한번 Matplotlib 버전에는 ggplot2보다 더 많은 코드 줄이 필요합니다.

결론

ggplot2 및 Matplotlib를 사용하면 고도로 사용자 정의 가능한 데이터 시각화를 만들 수 있지만 ggplot2는 코드를 덜 사용하는 경향이 있습니다.

ggplot2와 Matplotlib 사이의 선호도는 단순히 데이터 분석에 사용하는 프로그래밍 언어에 따라 달라지는 경우가 많습니다.

Python을 사용하는 사람들은 단일 프로그래밍 언어를 사용하여 데이터 분석을 수행하고 데이터 시각화를 만들 수 있기 때문에 Matplotlib를 사용하는 경향이 있습니다.

반대로 R을 사용하는 사람들은 단일 프로그래밍 언어로 모든 데이터 분석 및 시각화를 수행할 수 있기 때문에 ggplot2를 사용하는 경향이 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다