1.数据集下载
我们可以把.data后缀改为.txt方便打开。
2.代码
#鸢尾花,四种属性画图+上色
#需要包注意下载。
#导入包
import numpy as np
import matplotlib.pyplot as plt
#我将官网下载的iris文件后缀改为txt,方便使用。
f = open('iris.txt', 'r')
x=[]
y=[]
z=[]
a=[]
b=[]
c=[]
#无限循环读文件
while(1):
yihang=f.readline() #读取一行
if(len(yihang)<=1): #没读到什么,结束
break;
fenkai=yihang.split(',') #以‘,’分割
fenkai[0]=eval(fenkai[0]) #转为数字
fenkai[1]=eval(fenkai[1])
fenkai[2]=eval(fenkai[2])
fenkai[3]=eval(fenkai[3])
x.append(fenkai[0]) #分别加到数组后面
y.append(fenkai[1])
a.append(fenkai[2])
b.append(fenkai[3])
z.append(fenkai[4])
if(fenkai[4]=='Iris-setosa\n'): #颜色更改
c.append('r')
if (fenkai[4] == 'Iris-versicolor\n'):
c.append('g')
if (fenkai[4] == 'Iris-virginica\n'):
c.append('b')
print(fenkai)
print(c)
plt.figure(1)
plt.scatter(x, y, c=c, alpha=0.8) #绘点
plt.xlabel('x')
plt.ylabel('y')
plt.title('x,y')
plt.figure(2)
plt.scatter(a, b, c=c, alpha=0.8)
plt.xlabel('a')
plt.ylabel('b')
plt.title('a,b')
plt.figure(3)
plt.scatter(x, a, c=c, alpha=0.8)
plt.xlabel('x')
plt.ylabel('a')
plt.title('x,a')
plt.figure(4)
plt.scatter(y, b, c=c, alpha=0.8)
plt.xlabel('y')
plt.ylabel('b')
plt.title('y,b')
plt.figure(5)
plt.scatter(x, b, c=c, alpha=0.8)
plt.xlabel('x')
plt.ylabel('b')
plt.title('x,b')
plt.figure(6)
plt.scatter(y, a, c=c, alpha=0.8)
plt.xlabel('y')
plt.ylabel('a')
plt.title('y,a')
plt.show() #显示
3.结果(不方便截屏,就拍照了)