matplotlib.pyplot
2차원 데이터 시각화
import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [2,4,6,8,10]
plt.plot(x,y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Example')
plt.show()
판다스 데이터프레임으로 시각화
import pandas as pd
df = pd.DataFrame({
'A':[1,2,3,4,5],
'B':[5,4,3,2,1]
})
df
df.plot(x='A', y='B')
plt.show()
스타일, 라벨 지정
df.plot(x='A', y='B', color='green', linestyle='--',marker='o')
# 스타일 추가
plt.show()
df.plot(x='A',y='B',color='red',linestyle='--',marker='o',label='Data Series')
# 라벨 지정
plt.show()
ax = df.plot(x='A',y='B',color='red',linestyle='--',marker='o')
ax.legend(['Data Series'])
# 라벨 지정
plt.show()
# linestyle
'-' 실선
'--' 대시선
':' 점선
'-.' 점-대시선
# marker
'o' 원
'^' 삼각형
's' 사각형
'+' 플러스
'x' 엑스
plt.figure()
그래프의 가로,세로 크기를 인치 단위로 설정
Line graph
import seaborn as sns
data = sns.load_dataset('flights')
data_grouped = data[['year','passengers']].groupby('year').sum().reset_index()
plt.plot(data_grouped['year'],data_grouped['passengers'])
# line 그래프
plt.xlabel('year')
plt.ylabel('passengers')
plt.show()
# 승객수가 연도별로 우상향
Bar Plot( 막대 그래프 )
df = pd.DataFrame({
'도시': ['서울','부산','대구','인천'],
'인구':[990,250,250,290]
})
plt.bar(df['도시'], df['인구']) # 막대그래프
plt.xlabel('도시')
plt.ylabel('인구')
plt.title('도시별 인구 수')
plt.show()
Histogram ( 히스토그램 )
import numpy as np
data = np.random.randn(1000)
# array 형태로 1000개의 데이터가 랜덤하게 생성됨
data.shape
# .shape 열과 행의 데이터가 어떻게 분포되어있는지 확인
plt.hist(data, bins=30)
# bins 몇개의 구간별로 표현할 것인지 범위 설정
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()
alpha=
투명도
0~1 사이로 설정, 1에 가까울 수록 색이 진하며 0에 가까울 수록 투명도가 커짐
Pie Chart( 원 그래프 )
sizes = [30,20,25,15,10]
labels = ['A','B','C','D','D']
plt.pie(sizes,labels=labels)
plt.title('Pie Chart')
plt.show()
Box Plot
iris = sns.load_dataset("iris")
species = iris['species'].unique()
sepal_lengths_list = [iris[iris['species'] == s]['sepal_length'].tolist() for s in iris['species'].unique()]
plt.boxplot(sepal_lengths_list, labels=species)
plt.show()
# 가운데 노란색 줄은 중앙값,
# 제일 위에 박스의 선은 75% 아래 박스의 선은 25%,
# 제일 위에 선은 최대 ,아래 선은 최소,
# 점은 아웃라이어(평균이나 값에 영향을 줄 수 있는 데이터)
sns.boxplot(x='day', y='total_bill', data=tips_data, palette='Set3')
plt.title('Total Bill Distribution by Day')
plt.xlabel('Day of the Week')
plt.ylabel('Total Bill Amount')
plt.show()
plt.boxplot(x축,y축,data 작성)
Scatter Plot ( 산점도 )
plt.scatter(iris['petal_length'],iris['petal_width'])
plt.xlabel('Petal length')
plt.ylabel('Petal width')
plt.show()
# 관계성이 있다면 뭉쳐있음
그래프 유형 | 자료 유형 | 특징 |
Line Plot | 연속형 데이터 | 데이터의 변화 및 추이를 시각화 |
Bar Plot | 범주형 데이터 | 카테고리 별 값의 크기를 시각적으로 비교 |
Histogram | 연속형 데이터 | 데이터 분포, 빈도, 패턴 등을 이해 |
Pie Chart | 범주형 데이터의 비율 | 범주별 상대적 비율을 부채꼴 모양으로 시각화 |
Box Plot | 연속형 데이터의 분포 | 중앙값, 사분위수, 최소값, 최대값, 이상치 확인 |
Scatter Plot | 두 변수 간 관계 | 변수 간의 관계, 군집, 이상치 등 확인 |
'개인공부' 카테고리의 다른 글
[데벨챌] 그로스 해킹 독서 리뷰 1주차 (2) | 2024.11.10 |
---|---|
Python 데이터전처리 & 시각화 (0) | 2024.05.15 |
[Python] Pandas 함수 정리 (0) | 2024.05.09 |
파이썬 개인 과제 (0) | 2024.05.02 |
[python] return 과 print 의 차이? (0) | 2024.04.26 |