** cf) pycharm에서 코드 실행 단축키 : shift + F10
import matplotlib.pyplot as plt
import numpy as np
fig =plt.figure(figsize=(7,7),facecolor='linen')
ax=fig.add_subplot()
ax.plot([2,3,1]) # 선그래프
ax.scatter([2,3,1],[2,3,4]) # 점그래프
fig.suptitle("Title of a Figure", fontsize=30, fontfamily='monospace') # 제목, 제목크기, 제목글씨체
plt.show()
figsize=(7,7)
fig,ax=plt.subplots(figsize=figsize)
ax.set_title("Title of a AX", fontsize=30,fontfamily='monospace')
ax.set_xlabel('X label', fontsize=20,color='darkblue', alpha=0.9)#X축 이름달기, 글씨크기, 색, 투명도
ax.set_ylabel('Y label', fontsize=20, color='darkblue', alpha=0.9)#Y축 이름달기, 글씨 크기, 색, 투명도
fig.tight_layout()#출력물이 짤릴 때 맞춰줌
plt.show()
fig=plt.figure(figsize=(10,10))
ax1=fig.add_subplot()
ax2=ax1.twinx() # ax를 오른쪽에도 만들어준다
ax1.set_xlim([0,1000])#x축 범위설정
ax1.set_ylim([0,100])#왼쪽 y축 범위 설정
ax2.set_ylim(0,0.1)#오른쪽 y축 범위 설정
ax1.set_title("Twinx Graph", fontsize=30)#제목달기
ax1.set_ylabel('Data1',fontsize=20)#왼쪽 y축 제목
ax2.set_ylabel('Data2',fontsize=20)#오른쪽 y축 제목
plt.show()
fig=plt.figure(figsize=(10,10))
ax=fig.add_subplot()
ax.tick_params(labelsize=20,
length=10,
width=3,
bottom=False,
labelbottom=False,
left=False,
labelleft=False,
top=True,
labeltop=True,
right=True,
labelright=True,
rotation=30)#
fig=plt.figure(figsize=(7,7))
ax=fig.add_subplot()
ax.tick_params(axis='both',labelsize=15)
ax.set_xlim([-1,1])
ax.set_ylim([-1,1])
ax.grid()
ax.text(x=0,y=0,s="Hello",fontsize=30) #그래프 내에 좌표를 설정하여 텍스트입력
plt.show()
fig=plt.figure(figsize=(7,7))
ax=fig.add_subplot()
ax.tick_params(axis='both',labelsize=15)
ax.set_xlim([-1,1])
ax.set_ylim([-1,1])
ax.grid()
ax.text(x=0,y=0,va='center', ha='right',s="Hello",fontsize=30)
ax.text(x=0.5,y=0,va='center', ha='center',s="Hello",fontsize=30)
ax.text(x=0.5,y=-0.5,va='center', ha='left',s="Hello",fontsize=30)
# va : 텍스트 세로 정렬 ,ha :텍스트 가로 정렬
# 좌표기준이 아닌, 텍스트를 기준으로 좌표를 찍어주는 형태이다
plt.show()
fig=plt.figure(figsize=(7,7))
ax=fig.add_subplot()
ax.tick_params(axis='both',labelsize=15)
ax.set_xlim([-1,1])
ax.set_ylim([-1,1])
ax.set_xticks([0,1,5,10]) #X축 눈금 설정
plt.show()
fig=plt.figure(figsize=(14,7))
ax=fig.add_subplot()
major_xticks=[i for i in range(0,101,20)]# 숫자표현되는 메인 눈금
minor_xticks=[i for i in range(0,101,5)] # major사이사이 작은 눈금
ax.set_xticks(major_xticks)
ax.set_xticks(minor_xticks,minor=True)
plt.show()
fig, ax=plt.subplots(figsize=(5,10))
color_list=['b','g','r','c','m','y']
ax.set_xlim([-1,1])
ax.set_ylim(-1,len(color_list))
for c_idx, c in enumerate(color_list):
ax.text(0,c_idx,"color="+c,fontsize=20,ha='center',color=c)
plt.show()
fig, ax=plt.subplots(figsize=(5,10))
color_list=[(1.,0.,0.),(0.,1.,0.),(0.,0.,1.)]
ax.set_xlim([-1,1])
ax.set_ylim(-1,len(color_list))
for c_idx, c in enumerate(color_list):
ax.text(0,c_idx,f"color={c}",fontsize=20,ha='center',color=c)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
n_data=100
x_data=np.random.normal(0,1,(n_data,))
y_data=np.random.normal(0,1,(n_data,))
fig, ax=plt.subplots(figsize=(7,7))
ax.scatter(x_data,y_data,s='100',color='r')
ax.plot(x_data,y_data,'o',color='red',markersize=10)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
x_min, x_max=-5,5
n_data=300
x_data=np.random.uniform(x_min,x_max,n_data)
y_data=x_data+0.5*np.random.normal(0,1,n_data)
fig, ax=plt.subplots(figsize=(10,10))
ax.scatter(x_data,y_data)
# 추세선 그리기
pred_x=np.linspace(x_min,x_max,2) #linspace(a,b,c) 는 a부터 b값 사이의 값을 일정한 간격으로 c개 뽑아낸다
pred_y=pred_x
ax.plot(pred_x,pred_y,color='r',linewidth=3)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
n_data=10
x_data=np.linspace(0,10,n_data)
y_data=np.linspace(0,10,n_data)
s_arr=np.linspace(10,500,n_data) # 점들의 크기 다르게 만들기
c_arr=[(c/n_data,c/n_data,c/n_data) for c in range(n_data)]#RGB 색상 주기(3좌표의 값이 같으면 흑백의 모노톤이 나온다)
fig,ax=plt.subplots(figsize=(10,10))
ax.scatter(x_data,y_data,s_arr,color=c_arr)
plt.show()