在python3的matplotlib下实现不同颜色散点图

来源:互联网 发布:淘宝 刷单 没有权重 编辑:程序博客网 时间:2024/06/08 04:39


转化数据成矩阵形式

import numpy as npfrom numpy import *from operator import *def filemattrix(filename):                   #转化数据成矩阵形式    fr = open(filename)    arrayLines = fr.readlines()    numberLines = len(arrayLines)    returnMat = zeros((numberLines,3))    labels = []    index = 0    for line in arrayLines:        line = line.strip()        listLine = line.split('\t')        #index表示的是第几行,[index,:]代表从index到全部元素;        returnMat[index,:] = listLine[0:3]        labels.append(int(listLine[-1]))        index +=1    return returnMat,labels

制作散点图

import matplotlibimport matplotlib.pyplot as pltimport numpy as npreturnMat, labels = filemattrix('datingDataSet.txt')   #datingDataSet.txt文件下的数据集fig = plt.figure()axes = fig.add_subplot(111)for i in range(len(labels)):    if labels[i] ==1:        #  第i行数据,及returnMat[i:,0]及矩阵的切片意思是:i:i+1代表第i行数据,0代表第1列数据        axes.scatter(returnMat[i:i+1, 0], returnMat[i:i+1 ,2],color = 'red')    if labels[i] == 2:        axes.scatter(returnMat[i:i+1, 0], returnMat[i:i+1, 2], color='green')    if labels[i] == 3:        axes.scatter(returnMat[i:i+1, 0], returnMat[i:i+1, 2], color='black')plt.xlabel('X')plt.ylabel('Y')plt.title('Epic Chart')   #对中文的支持很差!plt.show()


*************数据文件******************

409208.3269760.9539523144887.1534691.6739042260521.4418710.80512417513613.1473940.4289641383441.6697880.13429617299310.1417401.0329551359486.8307921.21319234266613.2763690.5438803674978.6315770.74927813548312.2731691.5080533502423.7234980.8319171632758.3858791.669485155694.8754350.7286582510524.6800980.62522417737215.2995700.3313511436731.8894610.1912831613647.5167541.26916416967314.2391950.2613331156690.0000001.25018522848810.5285551.3048443      #或者去https://github.com/ 找

原创粉丝点击