通过python作图实现对身高体重进行显示,但是不能在面板中显示。对与weight和height数据不能够输出,但是height_weight 能够输出
import xlrd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.cluster import AgglomerativeClustering
from scipy.cluster import hierarchy
from itertools import cycle #python自带的迭代器模块
'''
/**************************task1**************************/
1.采用C均值聚类算法对男女生样本数据中的身高、体重2个特征进行聚类分析,
考察不同的类别初始值以及类别数对聚类结果的影响,并以友好的方式图示化结果。
/**************************task1**************************/
'''
mydata = xlrd.open_workbook('man.xls')
mysheet1 = mydata.sheet_by_name("Sheet1")
#获取行数、列数
nRows = mysheet1.nrows
nCols = mysheet1.ncols
#用于存取男生女生身高数据
man_height = []
woman_height = []
man_weight = []
woman_weight = []
height_weight = []
#获取第4,5列的内容:身高,体重
for i in range(nRows):
if i+1<nRows:
if mysheet1.cell(i+1,1).value==1:
man_height.append(mysheet1.cell(i+1,3).value)
man_weight.append(mysheet1.cell(i+1,4).value)
print(man_height[i],man_weight[i])
elif mysheet1.cell(i+1,1).value==0:
woman_height.append(mysheet1.cell(i+1,3).value)
woman_weight.append(mysheet1.cell(i+1,4).value)
print(woman_height[i],woman_weight[i])
height_weight.append([(mysheet1.cell(i+1,3).value),(mysheet1.cell(i+1,4).value)])
print(height_weight[i])
height_weight = np.array(height_weight)
#显示男女生样本散点图(显示不出来,不知道问题在哪里)
plt.figure(1)
plt.clf()
p1=plt.scatter(man_height,man_weight,c='g', marker = '*',linewidths=0.4)
p2=plt.scatter(woman_height,woman_weight,c='r', marker = '*',linewidths=0.4)
plt.xlabel('height/cm')
plt.ylabel('weight/kg')
gender_label=['boy','girl']
plt.legend([p1, p2],gender_label,loc=0)
plt.show()