Python/matplotlib

[python matplotlib] pyplot.plot 호출 인자(입력 매개변수)

언제나휴일 2020. 11. 20. 14:43
반응형

안녕하세요. 언제나휴일입니다.

이번에는 pyplot.plot 호출에 전달하는 인자를 사용하는 실습을 해 볼게요.

1. 호출 인자

plot([x],y,[fmt],*,data=None,**kwargs)

2. Y값 목록만 전달

Y값 목록만 전달하면 X값은 0부터 순차적으로 자동 설정합니다.

import matplotlib.pyplot as plt
plt.plot([1,9,5,2])
plt.title("plot(y)")
plt.show()

Y값 목록만 전달

3. X, Y값 목록 전달

X값, Y값 목록을 함께 전달할 수도 있습니다.

plt.plot( [11,12,13,14],[1,9,5,2])
plt.title("plot(x,y)")
plt.show()

 

X,Y 값 목록 전달

4. 여러 쌍의 X, Y 값 목록 전달

여러 쌍의 X,Y 값 목록을 전달할 수도 있어요.

plt.plot( [1,2,3,4],[3,6,9,12], [1,2,3,4],[4,8,12,16])
plt.title("plot(x1,y1,x2,y2)")
plt.show()

두 쌍의 X, Y 값 목록 전달

5. data 인자 사용

index 가능한 data를 사용할 수도 있어요.

#data 인자 사용
mdic=dict()
mdic['hour']=[0,1,2,3,4,5]
mdic['distance']=[0,5,20,45,70,95]

plt.plot('hour','distance',data=mdic)
plt.xlabel('hour')
plt.ylabel('distance')
plt.xticks([0,1,2,3,4,5])
plt.axis([0,6,0,100])
plt.title("plot('a','b',data=data)")
plt.show()

data 인자 사용

6. fmt을 이용

fmt을 이용하여 마커나 라인 형태, 색을 지정할 수 있어요.

#fmt = [marker][line][color]인자 사용
plt.plot([1,7,5,4],'o:r')
plt.title("plot(y,fmt)")
plt.show()
#marker
#        '.'    point marker
#        ','    pixel marker
#        'o'    circle marker
#        'v'    triangle_down marker
#        '^'    triangle_up marker
#        '<'    triangle_left marker
#        '>'    triangle_right marker
#        '1'    tri_down marker
#        '2'    tri_up marker
#        '3'    tri_left marker
#        '4'    tri_right marker
#        's'    square marker
#        'p'    pentagon marker
#        '*'    star marker
#        'h'    hexagon1 marker
#        'H'    hexagon2 marker
#        '+'    plus marker
#        'x'    x marker
#        'D'    diamond marker
#        'd'    thin_diamond marker
#        '|'    vline marker
#        '_'    hline marker
#line
#        '-'     solid line style
#        '--'     dashed line style
#        '-.'     dash-dot line style
#        ':'     dotted line style
#color
#        'b'   blue
#        'g'   green
#        'r'    red
#        'c'   cyan
#        'm'   magenta
#        'y'   yellow
#        'k'   black
#        'w'   white
#        hexa코드 혹은 color이름도 사용할 수 있음

fmt 사용

7. kwargs 이용

kwargs는 Line2D의 특성을 이용하여 디테일하게 표현할 수 있어요.

다음은 라인의 두께를 지정한 예입니다.

#**kwargs: Line2D properties
plt.plot([1,7,5,4],linewidth=12)
plt.title("plot(y,**kwargs)")
plt.show()

kwargs 사용(linewidth)

8. 전체 코드

#plot([x], y, [fmt], *, data=None, **kwargs) 
#plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
#fmt = '[marker][line][color]'
#**kwargs: Line2D properties
import matplotlib.pyplot as plt
plt.plot([1,9,5,2])
plt.title("plot(y)")
plt.show()

plt.plot( [11,12,13,14],[1,9,5,2])
plt.title("plot(x,y)")
plt.show()

plt.plot( [1,2,3,4],[3,6,9,12], [1,2,3,4],[4,8,12,16])
plt.title("plot(x1,y1,x2,y2)")
plt.show()

#data 인자 사용
mdic=dict()
mdic['hour']=[0,1,2,3,4,5]
mdic['distance']=[0,5,20,45,70,95]

plt.plot('hour','distance',data=mdic)
plt.xlabel('hour')
plt.ylabel('distance')
plt.xticks([0,1,2,3,4,5])
plt.axis([0,6,0,100])
plt.title("plot('a','b',data=data)")
plt.show()

#fmt = [marker][line][color]인자 사용
plt.plot([1,7,5,4],'o:r')
plt.title("plot(y,fmt)")
plt.show()
#marker
#        '.'    point marker
#        ','    pixel marker
#        'o'    circle marker
#        'v'    triangle_down marker
#        '^'    triangle_up marker
#        '<'    triangle_left marker
#        '>'    triangle_right marker
#        '1'    tri_down marker
#        '2'    tri_up marker
#        '3'    tri_left marker
#        '4'    tri_right marker
#        's'    square marker
#        'p'    pentagon marker
#        '*'    star marker
#        'h'    hexagon1 marker
#        'H'    hexagon2 marker
#        '+'    plus marker
#        'x'    x marker
#        'D'    diamond marker
#        'd'    thin_diamond marker
#        '|'    vline marker
#        '_'    hline marker
#line
#        '-'     solid line style
#        '--'     dashed line style
#        '-.'     dash-dot line style
#        ':'     dotted line style
#color
#        'b'   blue
#        'g'   green
#        'r'    red
#        'c'   cyan
#        'm'   magenta
#        'y'   yellow
#        'k'   black
#        'w'   white
#        hexa코드 혹은 color이름도 사용할 수 있음

#**kwargs: Line2D properties
plt.plot([1,7,5,4],linewidth=12)
plt.title("plot(y,**kwargs)")
plt.show()
반응형