
scatterEx1
import matplotlib.pyplot as plt
import numpy as np
dataA = np.random.randn(100,2)
#x 포인트, y 포인트 설정
print(dataA)
dataA += np.array([-1, -1])
dataB = np.random.randn(100,2)
dataB += np.array([1,1])
plt.scatter(dataA[:,0], dataA[:,1], color='0.25') #색을 숫자로도 가능m 0 = 블랙, 1= 흰색
plt.scatter(dataB[:,0], dataB[:,1], color='0.75', edgecolors='r') #테두리색 설정가능
plt.show()


import pandas as pd
import matplotlib.pyplot as plt
plt.rc('font', family = 'Malgun Gothic')
#한글 쓸수 있게 폰트 불러오기
mpg = pd.read_csv('mpg.csv', encoding='utf-8')
print(mpg)
mpg.info()
#엔진 크기와 고속도로주행 마일수를 확인하기 위해 코드작성
xdata = mpg.loc[:,'displ']
ydata = mpg.loc[:,'hwy']
plt.plot(xdata, ydata, marker='o', ls='None')
plt.title('산점도 그래프', fontsize=15)
plt.xlabel('엔진크기')
plt.ylabel('고속도로 주행 마일수')
plt.show()

#4륜, 전륜, 후륜을 색깔로 구분하기
print(mpg.drv.unique())
mycolor = ['r', 'g', 'b']
label_dict = {'f':'전륜 구동', '4':'4륜 구동', 'r':'후륜 구동'}
for idx, finditem in enumerate(mpg.drv.unique()):
#4륜, f, b 를 찾기
xdata = mpg.loc[mpg['drv'] == finditem, 'displ']
ydata = mpg.loc[mpg['drv'] == finditem, 'hwy']
plt.plot(xdata, ydata, color=mycolor[idx], marker='o',
linestyle='None', label=label_dict[finditem])
plt.legend(loc='best')
plt.xlabel('엔진크기')
plt.ylabel('고속도로 주행 마일수')
plt.grid(True)
plt.show()

import matplotlib.pyplot as plt
import numpy as np
label_list = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']
def read_label(label):
return label_list.index(label)
data = np.loadtxt('iris.data.txt',
delimiter=',',
converters={4:read_label})
#delimiter = 데이터에서 항목을 나눌때 사용하는 문자
print(data)
color_set = ['b','g','r']
color_list = [color_set[int(label)] for label in data[:, 4]]
print(color_list)
plt.scatter(data[:,0], data[:,1], color=color_list)
# plt.legend(loc='best')
# 칼러 리스트 데이트를 가져와서 쓰기가 어려워 legend를 못 쓴다. 그래서 임의적으로 사용함
import matplotlib.patches as patches
plt.legend(handles=[patches.Patch(color='b', label='iris-setosa'),
patches.Patch(color='g', label='iris-versicolor'),
patches.Patch(color='r', label='iris-virginica')],
loc='best',
edgecolor='k')
plt.show()



import matplotlib.pyplot as plt
import pandas as pd
diamonds = pd.read_csv('diamonds.csv')
diamonds.info()
print()
diamonds = diamonds.sample(frac=0.01, random_state=49)
# frac = 데이터의 1%를 가져오겠다. random_state = seed값 고정하는거랑 같은것
diamonds.info()
print(diamonds.cut.unique())
cut_list = diamonds.cut.unique()
my_color = ['r','g','b','y','m']
cut_dict = {cut_list[idx]: my_color[idx] for idx in range(len(cut_list))}
print(cut_dict)
diamonds['newcut'] = diamonds['cut'].map(cut_dict)
print(diamonds.head())


def recode_table(table):
if table >= 60:
return 100
elif table >= 58:
return 30
elif table >= 45:
return 5
else:
return 1
print()
diamonds['newtable'] = diamonds['table'].apply(recode_table)
print(diamonds.head(10))
fig = plt.figure(figsize=(8, 6))
ax1 = fig.add_subplot(111)
xdata = diamonds['price']
ydata = diamonds['depth']
ax1.scatter(xdata, ydata, s=diamonds['newtable'], c=diamonds['newcut'], alpha=0.7)
plt.xlabel('price')
plt.ylabel('depth')
import matplotlib.patches as patches
plt.legend(handles=[patches.Patch(color='r', label='Very Good'),
patches.Patch(color='g', label='Good'),
patches.Patch(color='b', label='Ideal'),
patches.Patch(color='y', label='Premium'),
patches.Patch(color='m', label='Fair')],
loc='best',
edgecolor='k')
plt.show()

quiz1 확인하기
'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 |
| Day36_Python(12)_Pm (0) | 2025.09.30 |
| Day36_Python(12)_Am (0) | 2025.09.30 |