python scatter散点图用循环分类法加图例
作者:xiaobaicai4552 发布时间:2021-07-26 01:44:01
标签:python,scatter,散点图
本文实例为大家分享了python scatter散点图用循环分类法加图例,供大家参考,具体内容如下
import matplotlib.pyplot as plt
import kNN
plt.rcParams['font.sans-serif']=['Simhei']
plt.rcParams['axes.unicode_minus']=False
datingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt')
plt.figure()
type1_x = [] #一共有3类,所以定义3个空列表准备接受数据
type1_y = []
type2_x = []
type2_y = []
type3_x = []
type3_y = []
for i in range(len(datingLabels)): #1000组数据,i循环1000次
if datingLabels[i] == '1': #根据标签进行数据分类,注意标签此时是字符串
type1_x.append(datingDataMat[i][0]) #取的是样本数据的第一列特征和第二列特征
type1_y.append(datingDataMat[i][1])
if datingLabels[i] == '2':
type2_x.append(datingDataMat[i][0])
type2_y.append(datingDataMat[i][1])
if datingLabels[i] == '3':
type3_x.append(datingDataMat[i][0])
type3_y.append(datingDataMat[i][1])
plt.scatter(type1_x, type1_y, s=20, c='r', label='不喜欢')
plt.scatter(type2_x, type2_y, s=40, c='b', label='魅力一般')
plt.scatter(type3_x, type3_y, s=60, c='k', label='极具魅力')
plt.legend()
plt.show()
用面向对象的写法:
import matplotlib.pyplot as plt
import kNN
plt.rcParams['font.sans-serif']=['Simhei']
plt.rcParams['axes.unicode_minus']=False
datingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt')
plt.figure()
axes = plt.subplot(111)
type1_x = []
type1_y = []
type2_x = []
type2_y = []
type3_x = []
type3_y = []
for i in range(len(datingLabels)):
if datingLabels[i] == '1':
type1_x.append(datingDataMat[i][0])
type1_y.append(datingDataMat[i][1])
if datingLabels[i] == '2':
type2_x.append(datingDataMat[i][0])
type2_y.append(datingDataMat[i][1])
if datingLabels[i] == '3':
type3_x.append(datingDataMat[i][0])
type3_y.append(datingDataMat[i][1])
type1 = axes.scatter(type1_x, type1_y, s=20, c='r')
type2 = axes.scatter(type2_x, type2_y, s=40, c='b')
type3 = axes.scatter(type3_x, type3_y, s=60, c='k')
plt.legend((type1, type2, type3), ('不喜欢', '魅力一般', '极具魅力'))
plt.show()
来源:https://blog.csdn.net/xiaobaicai4552/article/details/79069207


猜你喜欢
- 实例1:获取星期字符串程序读入一个表示星期几的数字(1~7),输出对应的星期字符串名称。例如,输入 3,返回“星期三&a
- 本文实例讲述了thinkphp3.x自定义Action、Model及View的实现方法。分享给大家供大家参考,具体如下:1、在xmall/L
- 1、矩阵加法使用a = np.random.random((3,3))b = np.random.randint(0,9,(3,3))ad
- 运行代码时,出现诸如这样的文件的权限有可能出问题,不过更多是路径本身有问题。比如,你的文件名是否正确,路径是否正确,路径后面是不是多了什么奇
- mysqld_safe脚本执行的基本流程:1、查找basedir和ledir。2、查找datadir和my.cnf。3、对my.cnf做一些
- 一直一来,我都在想办法看能不能用 col 控制表格的列隐藏,但是无奈,FF对COL支持不够好(其实是以前没有发现COL在FF下要怎么弄)。今
- 本文实例讲述了python实现将html表格转换成CSV文件的方法。分享给大家供大家参考。具体如下:使用方法:python html2csv
- 当产品走到HTML Coding这块,多浏览器的测试是很重要,也很麻烦的一个环节。现在大家主要是保证IE6,7及Firefox的一致。bro
- 前言之前一直写不出来,这周周日花了一下午终于弄懂了, 顺便放博客里,方便以后忘记了再看看。 要实现的是输入一张 图,起点,终点,输出起点和终
- 示例:mysql> DELIMITER //mysql> CREATE PROCEDURE `statis`()
- 之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够“炫”今天浏览Python资料的时候,意外发现了
- Access数据库,同时操作大量记录(9500条以上)时报错。错误提示:Microsoft JET Database Engine 错误 &
- 前言help(argparse)查看说明文档,“argparse - Command-line parsing libr
- 在通信领域,可以通过希尔伯特变换求解解析信号,进而求解窄带信号的包络。实现希尔伯特变换有两种方法,一种是对信号做FFT,单后只保留单边频谱,
- 使用 os.open 打开文件无论是读文件还是写文件,都要先打开文件。说到打开文件,估计首先想到的就是内置函数 open(即 io.open
- 最近在学习Golang语言,中间遇到一个前辈指点,有一个学习原则:Learning By Doing。跟我之前学习Java的经验高度契合。在
- javascript基础教程算术运算符运算符运算符说明示例示例说明+加法x+y如果x为整数2,y为整数5, x+y等于7如果x为字符串&qu
- 使用Matplotlib绘制的图表的默认坐标轴是在左下角的,这样对于一些函数的显示不是非常方便,要改变坐标轴的默认显示方式主要要使用gca(
- Ruby Marshal序列化Marshal是Ruby的核心库,可以将一些对象以二进制的方式序列化保存到文件中,需要时再从文件中加载重新构建
- 只做简单地记录,方便一下使用!python关于csv模块的介绍网上有很多资料,这里就不在赘诉。直接给出代码和解释。数据:Symbol,Pri