Skip to content

Latest commit

 

History

History
249 lines (226 loc) · 5.46 KB

01-07 製作圖表.md

File metadata and controls

249 lines (226 loc) · 5.46 KB

01-07 製作圖表

執行結果:

GitHub Logo

(1)main.py

import numpy as np
import matplotlib.pyplot as plt

#--------------------------------------------------------------------------------------------
# 讀取鳶尾花資料
# 花萼長, 花萼寬, 花瓣長, 花瓣寬, 花種編號 (山鳶尾花:1, 變色鳶尾花:2, 維吉尼亞鳶尾花:3)
#--------------------------------------------------------------------------------------------
data=np.genfromtxt('iris.csv',  names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'classes'], delimiter=',')

#---------------------------
# 繪圖
#---------------------------
feature_1='petal_length'
feature_2='petal_width'

fig = plt.figure()
sub = fig.add_subplot(111)
sub.plot(data[feature_1][data['classes']==1], data[feature_2][data['classes']==1], 'bd', alpha=0.2)
sub.plot(data[feature_1][data['classes']==2], data[feature_2][data['classes']==2], 'ro', alpha=0.2)
sub.plot(data[feature_1][data['classes']==3], data[feature_2][data['classes']==3], 'gv', alpha=0.2)

#--------------------------------
# 山鳶尾花(1)中心點
#--------------------------------
fc_11=np.mean(data[feature_1][data['classes']==1])
fc_12=np.mean(data[feature_2][data['classes']==1])

print('山鳶尾花')
print(feature_1, ':', fc_11)
print(feature_2, ':', fc_12)
print('-'*20)

#-----------------------------------
# 變色鳶尾花(2)中心點
#-----------------------------------
fc_21=np.mean(data[feature_1][data['classes']==2])
fc_22=np.mean(data[feature_2][data['classes']==2])

print('變色鳶尾花')
print(feature_1, ':', fc_21)
print(feature_2, ':', fc_22)
print('-'*20)

#--------------------------------------
# 維吉尼亞鳶尾花(3)中心點
#--------------------------------------
fc_31=np.mean(data[feature_1][data['classes']==3])
fc_32=np.mean(data[feature_2][data['classes']==3])

print('維吉尼亞鳶尾花')
print(feature_1, ':', fc_31)
print(feature_2, ':', fc_32)
print('-'*20)

#---------------------------
# 繪出各品種鳶尾花中心點
#---------------------------
sub.plot(fc_11, fc_12, 'bs', alpha=1.0)
sub.plot(fc_21, fc_22, 'rs', alpha=1.0)
sub.plot(fc_31, fc_32, 'gs', alpha=1.0)

#---------------------------
# 設定圖標題
#---------------------------
plt.title('Iris flower')

#---------------------------
# 設定資料說明
#---------------------------
plt.legend(['setosa', 'versicolor', 'virginica'], numpoints=1, loc='upper left')

#---------------------------
# 設定x軸及y軸標題
#---------------------------
plt.xlabel(feature_1)
plt.ylabel(feature_2)

#---------------------------
# 儲存圖檔
#---------------------------
fig.savefig('graph.png')

(2)iris.csv

5.1,3.5,1.4,0.2,1 
4.9,3.0,1.4,0.2,1 
4.7,3.2,1.3,0.2,1 
4.6,3.1,1.5,0.2,1 
5.0,3.6,1.4,0.2,1 
5.4,3.9,1.7,0.4,1 
4.6,3.4,1.4,0.3,1 
5.0,3.4,1.5,0.2,1 
4.4,2.9,1.4,0.2,1 
4.9,3.1,1.5,0.1,1 
5.4,3.7,1.5,0.2,1 
4.8,3.4,1.6,0.2,1 
4.8,3.0,1.4,0.1,1 
4.3,3.0,1.1,0.1,1 
5.8,4.0,1.2,0.2,1 
5.7,4.4,1.5,0.4,1 
5.4,3.9,1.3,0.4,1 
5.1,3.5,1.4,0.3,1 
5.7,3.8,1.7,0.3,1 
5.1,3.8,1.5,0.3,1 
5.4,3.4,1.7,0.2,1 
5.1,3.7,1.5,0.4,1 
4.6,3.6,1.0,0.2,1 
5.1,3.3,1.7,0.5,1 
4.8,3.4,1.9,0.2,1 
5.0,3.0,1.6,0.2,1 
5.0,3.4,1.6,0.4,1 
5.2,3.5,1.5,0.2,1 
5.2,3.4,1.4,0.2,1 
4.7,3.2,1.6,0.2,1 
4.8,3.1,1.6,0.2,1 
5.4,3.4,1.5,0.4,1 
5.2,4.1,1.5,0.1,1 
5.5,4.2,1.4,0.2,1 
4.9,3.1,1.5,0.1,1 
5.0,3.2,1.2,0.2,1 
5.5,3.5,1.3,0.2,1 
4.9,3.1,1.5,0.1,1 
4.4,3.0,1.3,0.2,1 
5.1,3.4,1.5,0.2,1 
5.0,3.5,1.3,0.3,1 
4.5,2.3,1.3,0.3,1 
4.4,3.2,1.3,0.2,1 
5.0,3.5,1.6,0.6,1 
5.1,3.8,1.9,0.4,1 
4.8,3.0,1.4,0.3,1 
5.1,3.8,1.6,0.2,1 
4.6,3.2,1.4,0.2,1 
5.3,3.7,1.5,0.2,1 
5.0,3.3,1.4,0.2,1 
7.0,3.2,4.7,1.4,2 
6.4,3.2,4.5,1.5,2 
6.9,3.1,4.9,1.5,2 
5.5,2.3,4.0,1.3,2 
6.5,2.8,4.6,1.5,2 
5.7,2.8,4.5,1.3,2 
6.3,3.3,4.7,1.6,2 
4.9,2.4,3.3,1.0,2 
6.6,2.9,4.6,1.3,2 
5.2,2.7,3.9,1.4,2 
5.0,2.0,3.5,1.0,2 
5.9,3.0,4.2,1.5,2 
6.0,2.2,4.0,1.0,2 
6.1,2.9,4.7,1.4,2 
5.6,2.9,3.6,1.3,2 
6.7,3.1,4.4,1.4,2 
5.6,3.0,4.5,1.5,2 
5.8,2.7,4.1,1.0,2 
6.2,2.2,4.5,1.5,2 
5.6,2.5,3.9,1.1,2 
5.9,3.2,4.8,1.8,2 
6.1,2.8,4.0,1.3,2 
6.3,2.5,4.9,1.5,2 
6.1,2.8,4.7,1.2,2 
6.4,2.9,4.3,1.3,2 
6.6,3.0,4.4,1.4,2 
6.8,2.8,4.8,1.4,2 
6.7,3.0,5.0,1.7,2 
6.0,2.9,4.5,1.5,2 
5.7,2.6,3.5,1.0,2 
5.5,2.4,3.8,1.1,2 
5.5,2.4,3.7,1.0,2 
5.8,2.7,3.9,1.2,2 
6.0,2.7,5.1,1.6,2 
5.4,3.0,4.5,1.5,2 
6.0,3.4,4.5,1.6,2 
6.7,3.1,4.7,1.5,2 
6.3,2.3,4.4,1.3,2 
5.6,3.0,4.1,1.3,2 
5.5,2.5,4.0,1.3,2 
5.5,2.6,4.4,1.2,2 
6.1,3.0,4.6,1.4,2 
5.8,2.6,4.0,1.2,2 
5.0,2.3,3.3,1.0,2 
5.6,2.7,4.2,1.3,2 
5.7,3.0,4.2,1.2,2 
5.7,2.9,4.2,1.3,2 
6.2,2.9,4.3,1.3,2 
5.1,2.5,3.0,1.1,2 
5.7,2.8,4.1,1.3,2 
6.3,3.3,6.0,2.5,3 
5.8,2.7,5.1,1.9,3 
7.1,3.0,5.9,2.1,3 
6.3,2.9,5.6,1.8,3 
6.5,3.0,5.8,2.2,3 
7.6,3.0,6.6,2.1,3 
4.9,2.5,4.5,1.7,3 
7.3,2.9,6.3,1.8,3 
6.7,2.5,5.8,1.8,3 
7.2,3.6,6.1,2.5,3 
6.5,3.2,5.1,2.0,3 
6.4,2.7,5.3,1.9,3 
6.8,3.0,5.5,2.1,3 
5.7,2.5,5.0,2.0,3 
5.8,2.8,5.1,2.4,3 
6.4,3.2,5.3,2.3,3 
6.5,3.0,5.5,1.8,3 
7.7,3.8,6.7,2.2,3 
7.7,2.6,6.9,2.3,3 
6.0,2.2,5.0,1.5,3 
6.9,3.2,5.7,2.3,3 
5.6,2.8,4.9,2.0,3 
7.7,2.8,6.7,2.0,3 
6.3,2.7,4.9,1.8,3 
6.7,3.3,5.7,2.1,3 
7.2,3.2,6.0,1.8,3 
6.2,2.8,4.8,1.8,3 
6.1,3.0,4.9,1.8,3 
6.4,2.8,5.6,2.1,3 
7.2,3.0,5.8,1.6,3 
7.4,2.8,6.1,1.9,3 
7.9,3.8,6.4,2.0,3 
6.4,2.8,5.6,2.2,3 
6.3,2.8,5.1,1.5,3 
6.1,2.6,5.6,1.4,3 
7.7,3.0,6.1,2.3,3 
6.3,3.4,5.6,2.4,3 
6.4,3.1,5.5,1.8,3 
6.0,3.0,4.8,1.8,3 
6.9,3.1,5.4,2.1,3 
6.7,3.1,5.6,2.4,3 
6.9,3.1,5.1,2.3,3 
5.8,2.7,5.1,1.9,3 
6.8,3.2,5.9,2.3,3 
6.7,3.3,5.7,2.5,3 
6.7,3.0,5.2,2.3,3 
6.3,2.5,5.0,1.9,3 
6.5,3.0,5.2,2.0,3 
6.2,3.4,5.4,2.3,3 
5.9,3.0,5.1,1.8,3