본문 바로가기
Pyhton/matplotlib

Day36_Python(12)_Am

by roaring90s 2025. 9. 30.

시각화

mplibEx1

import matplotlib.pyplot as plt

# plt.title('plotEx1')
# plt.plot([1,4,8,14])
# plt.show()
#
# plt.title('plotEx1')
# plt.plot([10,20,30,40], [1,4,8,14])
# plt.show()

# x = range(100)
# y = [x**2 for x in x]
# plt.plot(x,y)
# plt.show()

# import numpy as np

# x = np.linspace(0, 2*np.pi, 100)
# y = np.sin(x)
# plt.plot(x,y)
# plt.show()

# plt.plot([10,20,30,40], [1,4,9,18], '--sr')
# plt.show()

plt.plot([10,20,30,40], [1,4,9,18], 'b^-.')
plt.show()

 


mplibEx2

import matplotlib.pyplot as plt

plt.plot([10,20,30,40], [4,2,9,12],
         color='orange',lw=5, ls='--',marker='o',ms=12,mec='green',
         mew=5, mfc='red')
#lw = 라인굵기, ls =라인스타일, mfc = 페이스칼러,

plt.show()

plt.plot([10,20,30,40], [4,2,9,12],
         color='k',lw=5, ls='--',marker='^',ms=12,mec='blue',
         mew=5, mfc='yellow')
#lw = 라인굵기, ls =라인스타일, mfc = 페이스칼러,

plt.show()

 


x = range(5)
y = [2,5,7,8,1]
plt.plot(x,y, 'o-')
x2 = [2]
y2 = [7]
plt.plot(x2,y2,'rs')
plt.show()

 

 


 

mplibEx3

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y = np.cos(x)
plt.plot(x, y)
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
           ['-pi', '-pi/2', 0, 'pi/2', 'pi'])   #각 틱에 이름을 정할 수 있다.
plt.yticks([-1, 0, 1],
           ['low', 'zero', 'high'])
plt.grid(True)  #틱에 맞춰 선을 그려준다.
plt.show()

 


 

#=====보통 여러개 그래프를 그릴때=====
data = np.arange(0, 5, 0.2)
plt.plot(data, data, 'b--',     data, 0.1*data**2, 'go:',   data, 0.1*data**3, 'rs--')
plt.show()

 

plt.plot([10,20,30,40], [4,2,9,12],
         color='k', lw=4, ls='--', marker='o', ms=12, mec='blue', mew=5, mfc='yellow')
plt.plot([10,20,30,40], [22,7,26,2],
         color='red', lw=5, ls='--', marker='o', ms=12, mec='yellow', mew=5, mfc='blue')
plt.show()

 


mplibEx4

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-np.pi, np.pi, 256)
y1, y2 = np.cos(x), np.sin(x)
plt.plot(x, y1, ls='--', label='cosine')
plt.plot(x, y2, ls=':', label='sine')
plt.legend(loc=10) #or loc='best'       #범례 사용, plot들을 참조한다.
plt.show()

 

plt.plot(x, y1, ls='--')
plt.plot(x, y2, ls=':')
plt.legend(['cos','sin'], loc='best', fontsize=14)   #순서대로 매칭됨
plt.show()

plt.plot(x, y1, ls='--')
plt.plot(x, y2, ls=':')
plt.legend(['cos','sin'], loc='best', fontsize=14)
plt.xlabel('x axis')
plt.ylabel('result')
plt.show()

 


 

mplibEx5

import matplotlib.pyplot as plt
import numpy as np

data = np.loadtxt('sample.txt')
print(data)
print()
# plt.plot(data[:,0],data[:,1])
# plt.show()

for column in data.T:
    plt.plot(data[:,0], column)
plt.show()

 


 

Figure() 크기를 정한다.

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(12345)
f1 = plt.figure(figsize=(10,2))        #inch 단위
# print(f)
plt.title('figsize change', fontsize=14)
plt.plot(np.random.randn(200))
plt.show()

 

 


 

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import xlabel

# np.random.seed(12345)
# f1 = plt.figure(figsize=(10,2))        #inch 단위
# # print(f)
# plt.title('figsize change', fontsize=14)
# plt.plot(np.random.randn(200))
# plt.show()

x = np.linspace(0,3,50)
y1 = np.cos(3*np.pi*x) *np.exp(-2*x)
y2 = np.cos(3*np.pi*x)
axes = plt.subplot(2,1,1)       #2 by 1 에서 1번을 가져와라
plt.plot(x, y1, 'yo-')
plt.title('multi partition')
plt.xlabel('x1')
plt.ylabel('result1')

plt.subplot(2,1,2)
plt.plot(x ,y2, 'r-.')
plt.xlabel('time')
plt.ylabel('result2')

#plt.tight_layout()     #간격 설정
plt.subplots_adjust(hspace=0.7)     #간격을 직접 설정가능

plt.show()

 


quiz1

import matplotlib.pyplot as plt
import numpy as np
np.random.seed(777)
plot_data1 = np.random.randn(50).cumsum()
plot_data2 = np.random.randn(50).cumsum()
plot_data3 = np.random.randn(50).cumsum()
plot_data4 = np.random.randn(50).cumsum()

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
ax1.plot(plot_data1, color='blue',marker='o')
ax1.plot(plot_data2, color='red',marker='+')
ax1.plot(plot_data3, color='green',marker='*')
ax1.plot(plot_data4, color='orange', marker='s')
plt.xlabel('Draw')
plt.ylabel('Random Number')

ax1.xaxis.set_ticks_position('top')         #tick 위치 변경
ax1.yaxis.set_ticks_position('right')

plt.legend(['Blue Solid', 'Red Dashed', 'Green Dash Dot','orange Dotted'], loc=1)
plt.title('Line Plots: Markers,Colors, and Linestyles')
plt.savefig('line_plot_quiz.png', dpi=400, bbox_inches='tight')
#png 파일로 저장, dpi 해상도? , inches 여백없이 그래프만 저장

plt.show()

 


mplibEx8

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-4, 4,1024)
y = 0.25 * (x * 4) * (x + 1) * (x - 2)
plt.plot(x,y,c='k')

box = {
    'facecolor':'g',     #바탕색
    'alpha':0.5,         #투명도
    'edgecolor':'r',     #라운드 색상
    'boxstyle':'round'
}

plt.text(-0.5, 1.25, 'black text mark', fontsize=12, bbox=box)
plt.show()

plt.text() 그래프에 텍스트 박스 생성하기

 


mplibEx9

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-4, 4,1024)
y = 0.25 * (x * 4) * (x + 1) * (x - 2)

plt.annotate('annotate text',
             ha='left',va='bottom',
             xytext=(-1.5, 20),         #텍스트가 시작되는 위치값
             xy=(1.75, -2.8),           #화살표가 가르키고있는 포인트
             arrowprops={'facecolor':'r', 'shrink':0.1}     #shrink 는 화살표 크기
             )
plt.plot(x,y,c='k')
plt.show()

 

align_test = ['center','left','right']

ax1 = plt.gca()           #get axis
ax1.axes.get_xaxis().set_visible(False)
ax1.axes.get_yaxis().set_visible(False)

for i, align in enumerate(align_test):
    plt.text(0, i, f'align={align}', ha=align, fontsize=14) #ha 객체 기준으로 봐야함
plt.plot([0,0], [-1, len(align_test)], c='#808000', ls='--') #라인그림
plt.scatter([0]* len(align_test), range(len(align_test))) #점그리는것
plt.show()


'Pyhton > matplotlib' 카테고리의 다른 글

Day38_Python(14)_Pm  (0) 2025.10.02
Day38_Python(14)_Am  (0) 2025.10.02
Day37_Python(13)_Pm  (0) 2025.10.01
Day37_Python(13)_Am  (0) 2025.10.01
Day36_Python(12)_Pm  (0) 2025.09.30