데이터로 설득하기 위해서는 데이터를 잘 전달해야 하고,
데이터를 잘 전달하기 위한 방법 중 하나가시각화
- 시간에 따른 매출 추이 분석:
- 시간(월, 분기, 연도 등)에 따른 매출 추이를 선 그래프로 시각화하면, 매출의 계절적 변동이나 특정 시기의 매출 증감 패턴을 쉽게 파악할 수 있습니다. 이를 통해 특정 시기에 매출이 감소하는 이유나 증가하는 이유를 이해할 수 있습니다.
- 지역별 매출 비교 분석:
- 지도를 이용하여 지역별 매출을 시각화하면, 각 지역의 매출 패턴을 파악할 수 있습니다. 지역 간의 매출 차이나 특정 지역에서의 매출 높은 이유를 이해할 수 있습니다.
- 제품 카테고리별 매출 분석:
- 막대 그래프나 원형 차트를 사용하여 제품 카테고리별 매출을 시각화하면, 어떤 카테고리가 가장 많은 매출을 올리는지 파악할 수 있습니다. 이를 통해 인기 있는 제품 카테고리를 파악하거나, 특정 카테고리의 성장세를 이해할 수 있습니다.
- 고객 구매 패턴 분석:
- 히스토그램이나 상자 그림(Box Plot)을 사용하여 고객의 구매 패턴을 시각화하면, 평균 구매액, 최고/최저 구매액, 이상치 데이터 등을 파악할 수 있습니다. 이를 통해 고객들의 구매 습관이나 행동을 이해할 수 있습니다.
- 마케팅 캠페인 효과 분석:
- 시간에 따른 매출 또는 고객 유입량의 변화를 추적하는 선 그래프를 사용하여, 마케팅 캠페인을 실행한 시점 이후의 변화를 확인할 수 있습니다. 이를 통해 마케팅 캠페인이 실제로 기업의 매출 또는 고객 유입에 어떤 영향을 미치는지를 시각적으로 확인할 수 있습니다.
- 캠페인 채널별 효과 비교:
- 막대 그래프나 원형 차트를 사용하여 각 마케팅 캠페인 채널(소셜미디어, 이메일, 광고 등)별로 매출이나 고객 획득량을 비교할 수 있습니다. 이를 통해 어떤 채널이 가장 효과적인지 판단하고, 자원을 최적으로 분배할 수 있습니다.
- 고객 반응 분석:
- 히스토그램이나 상자 그림을 사용하여 특정 마케팅 캠페인에 참여한 고객들의 반응을 분석할 수 있습니다. 고객들의 평균 구매액 증가, 반응 시간의 변화 등을 시각화하여 캠페인의 효과를 좀 더 깊이 있게 이해할 수 있습니다.
- A/B 테스트 결과 시각화:
- A/B 테스트 결과를 바탕으로 한 그래프를 통해, 다른 버전의 마케팅 캠페인이나 웹페이지 등의 변화가 어떻게 고객 행동에 영향을 미치는지 확인할 수 있습니다. 이를 통해 어떤 디자인 또는 콘텐츠가 더 효과적인지를 시각적으로 확인할 수 있습니다.
- 보고서와 프레젠테이션:
- 다양한 차트, 그래프, 히트맵 등을 사용하여 데이터 분석 결과를 시각적으로 나타내면 보고서나 프레젠테이션을 더 효과적으로 구성할 수 있습니다. 이를 통해 빠르고 명확하게 데이터의 핵심 내용을 전달할 수 있습니다.
- 의사 결정자와의 논의:
- 데이터 시각화를 통해 의사 결정자들과의 논의를 용이하게 할 수 있습니다. 시각적인 그래프나 차트를 보여주면 의사 결정자들이 데이터를 더 쉽게 이해하고 빠르게 의사 결정을 할 수 있습니다.
- 다양한 대중에게의 정보 전달:
- 쉽게 이해할 수 있는 그래픽을 사용하여 데이터 분석 결과를 블로그, 보고서, 뉴스레터 등을 통해 다양한 대중에게 전달할 수 있습니다. 이를 통해 보다 많은 사람들에게 데이터에 대한 인사이트를 제공할 수 있습니다.
- 소셜미디어 및 인터넷 활용:
- 효과적인 데이터 시각화는 소셜미디어 상에서 데이터 기반의 이야기를 공유하는 데 유용합니다. 인포그래픽, 그래픽 이미지 등을 활용하여 복잡한 데이터를 간결하게 전달하여 더 많은 관심을 끌 수 있습니다.
- 간결하고 효과적인 커뮤니케이션:
- 시각화를 통해 데이터의 핵심을 간결하게 전달할 수 있으며, 이를 통해 복잡한 정보를 시각적으로 이해하기 쉽게 만들어줍니다. 이는 전문가와 비전문가 모두가 쉽게 이해하고 의사 소통을 할 수 있게 돕습니다.
matplotlib.pyplot
- plot() 함수 : 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 Plot') plt.show()
Matplotlib에서 한글 깨짐 문제가 일어나는 이유?
matplotlib
에서는 한글 폰트를 지원하지 않기 때문
해결 방법
- 사용중인 OS에서 한글 폰트 찾기
- 윈도우 :
"C:\Windows\Fonts"
폴더- 맥 :
"/Library/Fonts"
폴더- 지원하는 폰트 찾아 설정
- 윈도우 : "malgun.ttf" 혹은 "NanumBarunGothic.ttf" 등을 사용
- 맥 : "AppleGothic.ttf" 등을 사용
폰트 설정 방법
import matplotlib.pyplot as plt plt.rcParams['font.family'] ='Malgun Gothic' plt.rcParams['axes.unicode_minus'] =False
경로 지정 방법 (윈도우)
import matplotlib.pyplot as plt import matplotlib.font_manager as fm # 나눔글꼴 경로 설정 font_path = 'C:/Windows/Fonts/NanumGothic.ttf' # 폰트 이름 가져오기 font_name = fm.FontProperties(fname=font_path).get_name() # 폰트 설정 plt.rc('font', family=font_name)
경로 찾기
보통 폰트는 c드라이브>windows>Fonts>내 존재
윈도우 창에 font 검색해서 글꼴 들어가기 - 원하는 글꼴 검색 - 경로 찾아서 들어가기 방법
원하는 글꼴 찾기
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 휴먼편지체 경로 설정
font_path = 'C:\\Windows\\Fonts\\HMFMPYUN.TTF'
# 폰트 이름 가져오기
font_name = fm.FontProperties(fname=font_path).get_name()
# 폰트 설정
plt.rc('font', family=font_name)
맑은고딕체
휴먼편지체
.
Matplotlib.pyplot 에서 plot() 를 활용하는 법
pandas
의plot()
메서드는 DataFrame 객체에서 데이터를 시각화하는데 사용
예를 들어, 선 그래프를 그리기 위해서는plot()
메서드를 호출해
x와 y 인수에 각각 x축과 y축에 해당하는 열을 지정하면 된다.
import pandas as pd import matplotlib.pyplot as plt # 샘플 데이터프레임 생성 data = { 'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1] } df = pd.DataFrame(data) # 선 그래프 그리기 df.plot(x='A', y='B') plt.show()
.
스타일 설정하기
plot()
메서드를 호출할 때 다양한 스타일 옵션을 사용해 그래프 스타일 설정 가능
color, linestyle, marker 등의 파라미터로 선의 색상, 스타일, 마커를 변경할 수 있다.
ax = df.plot(x='A', y='B', color='green', linestyle='--', marker='o') plt.show()
Color (색상) :
색상은 문자열로 지정할 수 있으며, 'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black', 'white'와 같은 기본 색상 이름 또는 RGB 값을 직접 지정할 수 있다.
Linestyle(선 스타일):
선의 스타일은 '-'
(실선), '--'
(대시선), ':'
(점선), '-.'
(점-대시선) 등으로 지정할 수 있다.
Marker(마커):
마커는 데이터 포인트를 나타내는 기호로,
'o'
(원), '^'
(삼각형), 's'
(사각형), '+'
(플러스), 'x'
(엑스) 등 다양한 기호로 지정할 수 있다.
.
범례 추가하기
legend()
메서드를 활용해 그래프의 범례 추가 가능
#1 label ax = df.plot(x='A', y='B', color='green', linestyle='--', marker='o', label='Data Series') #2 legend ax.legend(['Data Series']) #1번 또는 2번 방법으로 범례를 추가할 수 있습니다. plt.show()
.
축, 제목 입력하기
set_xlabel()
,set_ylabel()
,set_title()
메서드를 사용하여
x축과 y축의 레이블 및 그래프 제목을 추가
ax.set_xlabel('X-axis Label') ax.set_ylabel('Y-axis Label') ax.set_title('Title of the Plot')
.
텍스트 추가하기
text()
메서드 사용, 그래프 특정 위치에 텍스트 추가
ax.text(3, 3, 'Some Text', fontsize=12)
.
한 번에 설정하기
plot()
함수에color
,linestyle
,marker
,label
등의 파라미터로 스타일과 범례를 적용xlabel()
,ylabel()
,title()
,legend()
,text()
함수들을 사용하여 각각의 설정을 추가
-plot()
함수 자체로 범례, 제목, 텍스트를 직접적으로 입력하는 기능은 내장되어 있지 않다.
import matplotlib.pyplot as plt # 데이터 생성 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 그래프 그리기 plt.plot(x, y, color='green', linestyle='--', marker='o', label='Data Series') # 추가 설정 plt.xlabel('X-axis Label') plt.ylabel('Y-axis Label') plt.title('Title of the Plot') plt.legend() plt.text(3, 8, 'Some Text', fontsize=12) # 특정 좌표에 텍스트 추가 # 그래프 출력 plt.show()
.
그래프 크기 바꾸기
plt.figure()
함수를 사용하여 Figure 객체를 생성하고,
이후에figsize
매개변수를 이용하여 원하는 크기로 설정할 수 있음
figsize
는 그래프의 가로와 세로 크기를 inch(인치) 단위
로 설정import matplotlib.pyplot as plt
# Figure 객체 생성 및 사이즈 설정
plt.figure(figsize=(3, 2)) # 가로 3인치, 세로 2인치
# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 그래프 그리기
plt.plot(x, y)
# 그래프 출력
plt.show()