6개의 유명한 데이터 시각화 라이브러리(Python & R)📈

데이터 시각화는 정보를 지도, 그래프 또는 차트와 같은 시각적 관점으로 변환하는 것을 의미합니다. 데이터 시각화의 주요 목표는 인간의 두뇌가 데이터를 더 쉽게 이해하고 데이터에서 추세, 패턴 및 이상값을 식별하는 것입니다. 데이터 시각화는 데이터 과학의 가장 중요한 단계 중 하나입니다. 데이터가 수집되고 처리된 후 모델링됩니다. 데이터 시각화는 데이터에서 인사이트를 찾는 데 도움이 되는 다음 단계입니다.

기계 학습에서는 데이터를 더 잘 이해하기 위해 모델을 만들기 전에 데이터 시각화를 사용합니다. 이상값을 찾고, 중요한 기능을 찾고, 데이터 간의 상관관계를 찾는 데 도움이 됩니다. 데이터 시각화에 사용되는 언어는 Python과 R입니다. 유명한 데이터 시각화 라이브러리 중 일부는 다음과 같습니다.
  • 매트플롯립
  • 플롯리
  • 시본
  • 알테어
  • 보케
  • 지플롯


  • 파이썬



    Python은 기계 학습 커뮤니티에서 가장 유명한 프로그래밍 언어 중 하나입니다. 또한 데이터 시각화에도 널리 사용됩니다. 유명한 라이브러리 중 일부는 누적 막대 차트에 대한 코드와 함께 아래에 나열되어 있습니다.

    Matplotlib



    여기 코드는 matplotlib를 사용하여 누적 막대 차트를 만드는 방법을 나타냅니다. 사용된 데이터는 매달 두 제품 A와 B의 판매를 나타내는 임의의 데이터입니다. 이 동일한 데이터가 블로그 전체에서 사용됩니다. 막대 차트의 기능은 bar() 입니다.

    import matplotlib.pyplot as plt
    
    
    labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    product_A = [20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50]
    product_B = [25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29]
    
    width = 0.35      
    
    fig, ax = plt.subplots()
    
    ax.bar(labels, product_A, width,  label='Product A')
    ax.bar(labels, product_B, width,  bottom=product_A,
           label='Product B')
    
    ax.set_ylabel('Scores')
    ax.set_title('Sales of Product A and Product B')
    ax.legend()
    
    plt.show()
    




    플롯리



    동일한 데이터가 여기에 사용되지만 pandas 데이터 프레임으로 변환되었습니다. bar() 함수는 막대 차트를 그리는 데 사용됩니다.

    import plotly.express as px
    import pandas as pd
    df = pd.DataFrame(dict(time=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
                            product_A = [20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50],
                            product_B = [25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29]))
    
    
    fig = px.bar(df, x="time", y=["product_A","product_B"], title="Sales of Product A and Product B")
    fig.show()
    




    시본



    Seaborn에서는 누적 막대형 문자를 쉽게 만들 수 있는 방법이 없어 pandasplot() 함수를 사용하여 차트를 그렸습니다. set() 함수는 seaborn 테마를 적용하는 데 사용됩니다. barplot()histplot() 함수는 막대 차트와 히스토그램을 각각 플로팅하기 위해 seaborn에 있습니다.

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    
    df = pd.DataFrame(dict(time=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
                            product_A = [20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50],
                            product_B = [25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29]))
    
    sns.set(palette='pastel')
    df.plot(kind='bar',x='time', stacked=True)
    




    알테어



    여기에서도 데이터 프레임이 사용되지만 데이터가 와이드 형식이므로 긴 형식으로 변환된 다음 플로팅됩니다. 여기에 내가 추가한 또 하나는 cornerRadiusTopLeftcornerRadiusTopRight 막대 상단을 둥글게 만드는 데 사용됩니다.

    import altair as alt
    
    df = pd.DataFrame(dict(time=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
                            product_A = [20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50],
                            product_B = [25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29]))
    
    
    alt.Chart(df).transform_fold(['product_A', 'product_B'],
      as_=['column', 'product']
    ).mark_bar(cornerRadiusTopLeft=3,
        cornerRadiusTopRight=3).encode(
        x='time:N',
        y= 'product:Q',
        color = 'column:N'
    )
    




    보케



    Bokeh 패키지는 이 세그먼트로 가져옵니다.

    from bokeh.io import output_file,show,output_notebook,push_notebook
    from bokeh.plotting import figure
    from bokeh.models import ColumnDataSource,HoverTool,CategoricalColorMapper
    from bokeh.layouts import row,column,gridplot
    from bokeh.models.widgets import Tabs,Panel
    output_notebook()
    



    데이터를 플로팅하는 코드는 다음과 같습니다. vbar_stack()는 누적 막대 차트에 사용됩니다.

    output_file("bar_stacked.html")
    
    time = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    product = ["product_A","product_B"]
    colors = ["#718dbf", "#e84d60"]
    
    data = { 'time': time,
    'product_A' : [20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50],
    'product_B' : [25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29]
    }
    
    
    p = figure(x_range=time, plot_height=250, title="Sales of Products",
               toolbar_location=None, tools="hover")
    
    p.vbar_stack(product, x='time', width=0.9, color=colors, source=data,
                 legend_label=product)
    
    p.y_range.start = 0
    p.x_range.range_padding = 0.1
    p.xgrid.grid_line_color = None
    p.axis.minor_tick_line_color = None
    p.outline_line_color = None
    p.legend.location = "top_left"
    p.legend.orientation = "horizontal"
    
    show(p)
    




    아르 자형



    R은 ML 및 데이터 과학 커뮤니티에서 사용하는 또 다른 유명한 언어입니다. R은 Python보다 배우기가 조금 어렵기 때문에 경험이 많은 데이터 과학자들이 사용하는 것으로 보입니다. R의 유명한 데이터 시각화 라이브러리 중 두 개가 아래에 나열되어 있습니다.

    ggplot2



    먼저 ggplot2 라이브러리를 가져온 다음 데이터 프레임을 만듭니다. head() 함수는 데이터 프레임의 초기 요소를 보는 데 사용됩니다.

    library(ggplot2)
    
    df <- data.frame(
      time = c('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
      p1 = c(20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50),
        p2 = c(25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29)
      )
    
    head(df)
    


    데이터 프레임은 아래에서 head() 함수의 출력으로 볼 수 있는 긴 형식입니다.


    time 변수의 순서가 고정되고 데이터 프레임이 와이드 형식으로 변환됩니다.

    df$time <- factor(df$time, levels = df$time)
    
    library(reshape2)
    df1 <- melt(df, id.var="time")
    



    데이터가 플롯되고 플롯을 저장하는 데 사용되는 변수는 p 입니다.

    p <- ggplot(df1, aes(x = time, y = value, fill = variable)) + 
      geom_bar(stat = "identity")
    
    p
    


    플롯리



    R에서 plotly를 사용하여 누적 막대 차트를 플로팅하는 코드는 다음과 같습니다.

    library(plotly)
    
    time = c('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')
    p1 = c(20, 35, 30, 35, 27, 43, 24, 34, 14, 27, 22, 50)
    p2 = c(25, 32, 34, 20, 25, 34, 54, 23, 43, 33, 27, 29)
    
    data <- data.frame(time,p1,p2 )
    
    data$time <- factor(data$time, levels = data$time)
    
    fig <- plot_ly(data, x = ~time, y = ~p1, type = 'bar', name = 'Product A')
    fig <- fig %>% add_trace(y = ~p2, name = 'Product B')
    fig <- fig %>% layout(yaxis = list(title = 'Sale of Products'), barmode = 'stack')
    
    fig
    





    데이터 시각화에 대한 짧은 소개와 다양한 라이브러리를 사용하는 누적 막대 차트의 코드를 모두 즐기셨기를 바랍니다. 좋아하는 라이브러리에 댓글을 달고 이 게시물에 좋아요를 누르세요.

    좋은 웹페이지 즐겨찾기