ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 시각화 꺽은선그래프 그리기 Matplotlib.pyplot - plot
    Data Science/시각화 2021. 10. 12. 14:50
    반응형

    Matplotlib의 pyplot은 다양한 시각화 기법(그래프)를 지원합니다.

    그중에서 plot을 통해서 꺽은선그래프(line chart)를 그려보겠습니다.

     

    import matplotlib.pyplot as plt
    
    x_lst = [1,2,3,4,5] # x축좌표
    y_lst = [1,4,9,16,25] # y축좌표
    fmt = 'o-g' # [마커모양]+[선종류]+[색]
    
    plt.plot(x_lst, y_lst, fmt)
    
    plt.show()

    1. x_lst, y_lst

    그래프의 X축/Y축 좌표, 두 리스트의 길이는 동일해야합니다.

    2. fmt(format)

    꺽은선 그래프의 format을 나타내며 [마커모양], [선종류], [색]으로 구성되어있습니다.

    ㄴ세부 파라미터의 순서를 변경해도 되지만 mabplotlib 공식문서에서는 다음 순서를 권장하고 있습니다.

    ㄴ세가지 모두 사용하지 않아도 되며 지정하고 싶은 값만 넣어도 됩니다. ex) 'o-'

    ex) 'o-g' ->  마커모양:circle(o), 선종류:solid(-), 색:green(g)

     

    [마커모양], [선종류], [색]의 값들은 아래의 표에서 확인 할 수 있습니다.

     

     

    3. 그외의 속성

    선의 굵기(linewidth), 마커의 크기(markeredgewidth) 등 다양한 속성을 지정할 수 있다.

    또한 legend, xlabel, ylabel, title 등을 통해서 그래프를 꾸밀 수 있다. (Matplotlib.pyplot 공통)

    import matplotlib.pyplot as plt
    
    x_lst = [1,2,3,4,5]
    y_lst_1 = [1,4,9,16,25]
    y_lst_2 = [2,6,15,10,6]
    
    plt.plot(x_lst, y_lst_1, 'o-', color='#C8C8FF', label='line01')
    plt.plot(x_lst, y_lst_2, '^--g', linewidth=5, markeredgewidth=5, label='line02')
    
    plt.legend()
    plt.xlabel('x axis')
    plt.ylabel('y axis')
    
    plt.title('Line Chart')
    
    plt.show()

    Matplotlib.pyplot - plot의 모든 속성의 종류는 아래와 같다.

    속성 설명
    agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
    alpha scalar or None
    animated bool
    antialiased or aa bool
    clip_box Bbox
    clip_on bool
    clip_path Patch or (Path, Transform) or None
    color or c color
    contains unknown
    dash_capstyle CapStyle or {'butt', 'projecting', 'round'}
    dash_joinstyle JoinStyle or {'miter', 'round', 'bevel'}
    dashes sequence of floats (on/off ink in points) or (None, None)
    data (2, N) array or two 1D arrays
    drawstyle or ds {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
    figure Figure
    fillstyle {'full', 'left', 'right', 'bottom', 'top', 'none'}
    gid str
    in_layout bool
    label object
    linestyle or ls {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
    linewidth or lw float
    marker marker style string, Path or MarkerStyle
    markeredgecolor or mec color
    markeredgewidth or mew float
    markerfacecolor or mfc color
    markerfacecoloralt or mfcalt color
    markersize or ms float
    markevery None or int or (int, int) or slice or list[int] or float or (float, float) or list[bool]
    path_effects AbstractPathEffect
    picker float or callable[[Artist, Event], tuple[bool, dict]]
    pickradius float
    rasterized bool
    sketch_params (scale: float, length: float, randomness: float)
    snap bool or None
    solid_capstyle CapStyle or {'butt', 'projecting', 'round'}
    solid_joinstyle JoinStyle or {'miter', 'round', 'bevel'}
    transform matplotlib.transforms.Transform
    url str
    visible bool
    xdata 1D array
    ydata 1D array
    zorder float

     

    참고문헌

    https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot

    반응형

    댓글

Designed by Tistory.