Line Plot (선 그래프)
- 선 그래프는 데이터 간
연속적인 관계
시각화에 적합
주로 시간의 흐름에 따른 데이터의 변화 시각화
- 자료 유형: 연속적인 데이터의 추이를 보여줄 때 사용
- 활용: 시간에 따른 데이터의 변화, 추세를 보여줄 때 효과적
import seaborn as sns data = sns.load_dataset('flights') data
# 연도 기준으로 그룹화 후 승객 컬럼을 sum()하여 연도별 승객 수 데이터 추출 data_gr = data[['year', 'passengers']].groupby('year').sum().reset_index() data_gr
plt.plot(data_gr['year'], data_gr['passengers']) plt.xlabel('year') plt.ylabel('passengers') plt.show()
Bar Plot (막대 그래프)
- 막대 그래프는 범주형 데이터를 나타내며, 각 막대로 값의 크기를 비교하는 데 사용
- 자료 유형: 범주형 데이터 간의 비교를 나타낼 때 주로 사용
- 활용: 카테고리 별로 값의 크기나 빈도를 시각적으로 비교할 때 유용
df = pd.DataFrame({ '도시' : ['서울', '부산', '대구', '인천'], '인구' : [990, 250, 250, 290] }) df
plt.bar(df['도시'], df['인구']) plt.xlabel('도시') plt.ylabel('인구') plt.title('도시별 인구 수') plt.show()
Histogram (히스토그램)
- 히스토그램은 연속된 데이터의 분포 시각화
주로 데이터의 빈도를 시각화하여 해당 데이터의 분포를 이해하는 데 사용
- 자료 유형: 연속형 데이터의 분포를 보여줄 때 사용
- 활용: 데이터의 빈도나 분포, 패턴을 이해하고자 할 때 유용
numpy
)import numpy as np
data = np.random.randn(1000)
data.shape
plt.hist(data, bins = 30) #bins 값 조절로 가로축 구간의 갯수 조절 / 기본값 : 30 plt.xlabel('Value') plt.ylabel('Frequency') plt.title('TEST') plt.show()
+) Bar vs Histogram 의 차이
Pie Chart (원 그래프)
- 원 그래프는 전체에서 각 부분의 비율을 시각화.
주로 카테고리별 비율을 비교할 때 사용
- 자료 유형: 범주형 데이터의 상대적 비율을 시각화하는 데 사용
- 활용: 전체에 대한 각 범주의 비율을 보여줄 때 유용
sizes = [40, 5, 22, 18, 15] labels = ['1','2','3','4','5'] plt.pie(sizes, labels = labels) plt.title('TEST') 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 species] sepal_lengths_list
# plt.figure(figsize = (5,3)) < 크기 조절 가능 plt.boxplot(sepal_lengths_list, labels = species) plt.xlabel('species') plt.ylabel('Sepal Length') plt.title('Box Plot') plt.show()
+)
seaborn
라이브러리에서도 박스플롯 시각화 가능
sns.boxplot(x='species', y='sepal_length', data=iris) plt.show()
Scatter Plot (산점도)
- 산점도는 두 변수 간의 관계를 점으로 표시하여 보여주는 그래프
- 두 변수 간의 상관 관계를 보여주고,
각 점이 데이터 포인트를 나타내며, 그 점들이 어떻게 분포되어 있는지 시각적으로 확인
- 자료 유형: 두 변수 간의 관계 및 상관관계를 보여줄 때 사용
- 활용: 변수 간의 관계, 군집, 이상치를 확인하고자 할 때 유용
plt.scatter(iris['petal_length'], iris['petal_width']) plt.xlabel('Petal_length') plt.ylabel('Petal_width') plt.show()
plt.scatter(iris['sepal_length'], iris['sepal_width']) plt.xlabel('sepal_length') plt.ylabel('sepal_width') plt.show()
+)
# numeric_only = True 를 하게 되면, # iris 데이터셋 내 계산이 가능한 숫자 데이터들만 불러와 상관계수를 구할 수 있다. iris.corr(numeric_only=True)