plt.figure(figsize=(a,b))
plt.plot(x,y) # 실선 그래프
plt.show()
import matplotlib.pyplot as plt
import seaborn as sns
import platform
from matplotlib import font_manager,rc
get_ipython().run_line_magic('matplotlib','inline')
# %matplotlib inline
path = 'C:/Windows/Fonts/malgun.ttf'
if platform.system() == 'Darwin':
rc('font',family='Arial Unicode MS')
elif platform.system() == 'Windows':
font_name = font_manager.FontProperties(fname=path).get_name()
rc('font',family=font_name)
else:
print('Unknown system, sorry~')
# 폰트 이름 확인
from matplotlib import font_manager
f_path = 'c:/Windows/Fonts/malgun.ttf'
font_manager.FontProperties(fname=f_path).get_name()
import matplotlib.pyplot as plt
from matplotlib import rc
rc("font",family ='Malgun Gothic')
# 마이너스 부호 떄문에 한글이 깨질 수가 있어 설정
mpl.rcParams['axes.unicode_minus'] = False
# %matplotlib inline
get_ipython().run_line_magic("matplotlib","inline")
# 방법1: 먼저 정렬을 시킨 df을 새롭게 만든 후 그래프 그리기
# 방법2
df['col'].sort_values().plot(~)
# 방법3: x값이나 y값 쓸 때 적기
plt.barh(width = df['col'].sort_values(),~)
# 격자무늬 추가
plt.grid(True) #True 생략가능
# 그래프 제목
plt.title("제목")
plt.xlabel("x축 제목")
plt.ylabel("y축 제목")
# 그래프 범례
plt.legend(labels=['이름','이름2'])
plt.legend(loc='lower left') # 'loc=' 숫자로도 표현가능
# x,y축 설정
plt.xlim([-1, 5]) # -1 ~ 5까지 x축이 그려짐
plt.ylim([0, 6])
# 점에 이름 표시(주로 scatter그래프 그릴시)
# 1.02나 0.98은 이름이 점이랑 떨어져있는 정도이기에 아무 숫자가능
plt.text(x축 컬럼[0]*1.02,
y축 컬럼[0]*0.98,
'Name', #예로 df.index[0]
fontsize=15)
plt.xticks(rotation=) #x축 글자 각도
plt.annotate( # 그래프에 주석달기
dispname,
(row['x'] + 0.5, row['y'] + 0.5), # 조금 떨어져서
weight='bold',
color = ,
fontsize= ,
linespacing= ,
ha='center', # 수평정렬
va='center' # 수직정렬
)
plt.gca().invert_yaxis() # y축 거꾸로
plt.axis("off") # 축의 선 없애기
plt.tight_layout() # 표들이 넓혀짐
plt.pcolor( ) # 각 그리드의 색상채우기
# 그래프 커스텀
plt.plot(x, y,
color='',
linestyle='', # ls=' ' 도 가능 # 합쳐서 'r--'등 가능
lw=3 # line 두께
marker = '', # 예로 'o'
markerfacecolor='',
markersize= # 숫자
#합쳐서 바로 'bs', 'g^' 등 가능
plt.scatter(x, y,
s=100, # marker 크기
c=, # 컬럼 지정, 그 값별로 색깔을 입힘
marker=" ") # 예로 ">"
plt.colorbar() # 값에따라 색깔 변화
plt.barh(width = df['col'].sort_values(),
y = df['col2],
label='col Name')
plt.pie(df['col'].sort_values(),
labels=df.index)
from matplotlib.colors import ListedColormap
# colormap을 사용자정의(user define)로 정의
color_step=['#e74c3c','#2ecc71','#95a9a6','#2ecc71','#3498db','#3498db'] #예
my_camp = ListedColormap(color_step)
plt.scatter(x, y, s=50, c=df["col"], cmap=my_camp)
# df["col"]는 색깔 변화의 기준 컬럼
cf. colorbar()에도 사용자가 설정한 색깔에 따라 나옴
sns가 언급이 없어도 import해놓은것만으로도 이쁘게 그래프를 만듬.
conda install seaborn
sns.load_dataset('tips','flight','iris','anscombe')
sns.set_style('white', 'dark', 'whitegrid', 'darkgrid', 'ticks')
- 이렇게 여러 실선그래프를 그릴 때 연속으로 x,y 표기 가능
sns.boxplot(x='col',
y='col',
data=,
hue='', # 분류기준
palette='Set3') # 'Set 1~ 3'
sns.swarmplot(x='',
y='',
data=,
color='0.5') # color:0(검정)~1(흰)사이 값을 조절
sns.lmplot(x='', y='', data=,
hue='',
ci=None, # ci 신뢰구간 선택
scatter_kws={'s':5}, # 점크기
order=1, # 직선1,곡선2
robust=True, # True 특이값(outliner) 미포함
- data.query():카테고리 지정
: 2차원 숫자 배열을 색상으로 표현하는 기능으로 여러 데이터의 경향을 한 번에 확인
sns.heatmap(data,
annot=True, # True: 데이터 값을 표현
fmt='', # fmt='d': 정수형 표시 / 'f':실수
cmap='YlGnBu', # 'RdPu'(붉은 계열)
linewidths=0.5, #박스간의 간격으로 디폴트는 0
sns.pairplot(data,
hue='',
x_vars='', # 원하는 컬럼만 pairplot 멀티도 가능[' ',' ']
y_vars='', # x,y을 나누지 않고 vars=' '도 가능
kind='reg') # 'reg'회귀분석
sns.countplot(
x='col',
data=df,
palette='', # deep가능
order=df['col'].value_counts().index)
#order 매개변수는 범주형 데이터의 순서를 정의,
#.index를 함으로써 count숫자가 아닌 이름이 나옴
“이글은제로베이스데이터취업스쿨의강의자료일부를발췌하여
작성되었습니다.”