[python] plot / bar / scatter 그래프

2022. 3. 24. 03:28·python
728x90
반응형

1. plot 그래프

 

형태: ax.plot(x좌표, y좌표)

fig=plt.figure(figsize=(10,5), dpi=50)
(ax1,ax2)=fig.subplots(1,2) 

ax1.plot([1,2,3],[1,2,4])
ax2.plot([1,2,3],[4,2,1])

fig=plt.figure(figsize=(10,5), dpi=50)
(ax1,ax2)=fig.subplots(1,2) 

##1
X=np.arange(0,100,10)
Y=X**2
ax1.plot(X,Y,'ob')

##2
X1=np.arange(10)
Y1=(X1-5)**2
ax2.plot(X1,Y1,'.--r')

fig=plt.figure(figsize=(5,5), dpi=50)
ax1=fig.subplots(1,1) 

##1
X=np.arange(0,100,10)
Y=X**2
ax1.plot(X,Y,'ob')

##2
X1=np2.arange(80)
Y1=(X1-5)**2
ax1.plot(X1,Y1,'.--r')

 

2. bar 그래프

 

형태: ax.bar(x좌표, 높이 ,width(폭))

fig=plt.figure(figsize=(10,5),dpi=100)
axs=fig.subplots(1,2)

data=np.array([5,25,50,20])
axs[0].bar(range(len(data)),data)
axs[1].bar(range(len(data)),data, align='edge')

 

# bar: various width

fig=plt.figure(figsize=(12,5), dpi=100)
axs=fig.subplots(1,3)

def bar_width(ax,data,w):
    ax.bar(range(len(data)),data, width=w)
    
data = np.array([5,25,50,20])
bar_width(axs[0], data, 0.8) # default width: 0.8
bar_width(axs[1], data, 0.5)
bar_width(axs[2], data, 1)

 # barh

fig=plt.figure(figsize=(5,5), dpi=100)
ax=fig.subplots()

data = np.array([5,25,50,20])
ax.barh(range(len(data)),data)

# 다중 막대차트 그리기( for 사용O /사용X )

fig=plt.figure(figsize=(5,5), dpi=100)
ax=fig.subplots()

data=np.array([[5,25,50,20],[4,23,51,17],[6,22,52,19]])
X=np.arange(4)

## for loop 사용하지 않은 경우 X

_=ax.bar(X+0.00, data[0], width=0.25) # ax.bar([0,1,2,3], [5,25,50,20], width=0.25)
_=ax.bar(X+0.25, data[1], width=0.25)
_=ax.bar(X+0.50, data[2], width=0.25)

## for loop 사용한경우 O

w1=0.25
for i, row in enumerate(data):
    _=ax.bar(X+i*w1, data[i], width=w1)

# dataframe으로 bar그래프 그리기

data=pd.read_table('dat_bar.txt',sep='\t', index_col=0)
data

fig=plt.figure(figsize=(5,5), dpi=100)
ax=fig.subplots()

ax.plot(range(len(data['iphone'])),data['iphone'],'b--o')
ax.plot(range(len(data['iphone'])),data['galaxy'],'r-o')

fig=plt.figure(figsize=(5,5), dpi=100)
ax=fig.subplots()

X=np.arange(0, 12)
ax.bar(X, data['iphone'],width=0.25)
ax.bar(X+0.25, data['galaxy'],width=0.25)

3. scatter 그래프

 

형태: ax.scatter (x좌표,y좌표)

fig=plt.figure(figsize=(4,4), dpi=100)
ax=fig.subplots()

data=np.random.uniform(size=(1000,2)) #랜덤 추출
type(data) #타입 확인
data[:10] #코드 확인

ax.scatter(data[:,0],data[:,1])

fig.show()
Out[40]:
array([[0.55336129, 0.03731936],  #data 의 형태 확인
       [0.2398961 , 0.48722611],
       [0.49628456, 0.23597968],
       [0.59471725, 0.49005728],
       [0.95240842, 0.91443345],
       [0.15020363, 0.38871761],
       [0.74528078, 0.67682047],
       [0.01846978, 0.25414807],
       [0.77007797, 0.84294918],
       [0.62568924, 0.19390422]])

fig=plt.figure(figsize=(8,4), dpi=100)
(ax1,ax2)=fig.subplots(1,2)

## ax1
data=np.random.uniform(0,1,size=(500,2)) #빨강
_=ax1.scatter(data[:,0],data[:,1],s=10,c='r')

data=np.random.uniform(0,1,size=(500,2)) #파랑
_=ax1.scatter(data[:,0],data[:,1],s=10,c='b')

## ax2
X1=np.random.uniform(0,0.5,size=500) # x의 범위
Y=np.random.uniform(0,1,size=500) #Y의 범위
_=ax2.scatter(X1,Y,s=10,c='r')

X2=np.random.uniform(0.5,1,size=500)
Y=np.random.uniform(0,1,size=500)
_=ax2.scatter(X2,Y,s=10,c='b')

728x90
반응형

'python' 카테고리의 다른 글

[python] axis=0 axis=1  (0) 2022.04.18
[python] DataFrame 생성하기/ 넘파이 ndarray, 리스트, 딕셔너리로 변환하기  (0) 2022.03.24
[python] figure & axes  (0) 2022.03.24
[python] groupby절  (0) 2022.03.23
[python] object 형 => numerical 형태로 변경해주는 to_numeric 함수  (0) 2022.03.22
'python' 카테고리의 다른 글
  • [python] axis=0 axis=1
  • [python] DataFrame 생성하기/ 넘파이 ndarray, 리스트, 딕셔너리로 변환하기
  • [python] figure & axes
  • [python] groupby절
ISFP의 블로그
ISFP의 블로그
이건 첫 번째 레슨, 업무에서 마주친 문제 해결 경험 공유하기 이건 두 번째 레슨, 개인적으로 공부한 데이터/AI 지식을 기록하기 이건 세 번째 레슨, 다른 사람과 비교하지 말고 오직 어제의 나와 비교하기
  • ISFP의 블로그
    resultofeffort
    ISFP의 블로그
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • python (25)
      • pythonML (27)
      • Linux (0)
      • 오류Error (8)
      • information (7)
      • Deep learning (5)
      • pytorch (29)
      • 코딩테스트 (4)
      • 밑바닥 DL (4)
      • 논문 리뷰 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    Deep Learning
    konlpy
    nlp
    텍스트전처리
    데이터분석
    cnn
    Pandas
    자연어처리
    분류
    인공지능
    토큰화
    Python
    deeplearning
    Ai
    pytorch
    머신러닝
    오블완
    machinelearning
    딥러닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
ISFP의 블로그
[python] plot / bar / scatter 그래프
상단으로

티스토리툴바