【matplotlib】绘制散点图
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
x,y:表示的是大小为(n,)的数组,也就是我们即将绘制散点图的数据点
s:是一个实数或者是一个数组大小为(n,),这个是一个可选的参数。
c:表示的是颜色,也是一个可选项。默认是蓝色'b',表示的是标记的颜色,或者可以是一个表示颜色的字符,或者是一个长度为n的表示颜色的序列等等。但是c不可以是一个单独的RGB数字,也不可以是一个RGBA的序列。可以是他们的2维数组(只有一行)。
marker:表示的是标记的样式,默认的是'o'。
cmap:Colormap实体或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap
norm:Normalize实体来将数据亮度转化到0-1之间,也是只有c是一个浮点数的数组的时候才使用。如果没有申明,就是默认为colors.Normalize。
vmin:vmax:实数,当norm存在的时候忽略。用来进行亮度数据的归一化。
alpha:实数,0-1之间。
linewidths:也就是标记点的长度。
现在我们有一个ex0.txt文件,部分数据如下:
1.000000 0.067732 3.176513
1.000000 0.427810 3.816464
1.000000 0.995731 4.550095
1.000000 0.738336 4.256571
1.000000 0.981083 4.560815
1.000000 0.526171 3.929515
1.000000 0.378887 3.526170
1.000000 0.033859 3.156393
1.000000 0.132791 3.110301
1.000000 0.138306 3.149813
我们先编写一个函数用于读取数据:
from numpy import *
import numpy as np
def loadDataSet(fileName): #general function to parse tab -delimited floats
numFeat = len(open(fileName).readline().split('t')) - 1 #get number of fields
dataMat = []
labelMat = []
fr = open(fileName)
for line in fr.readlines():
curLine = line.strip().split('t')
for i in range(1,numFeat):
dataMat.append(float(curLine[i]))
labelMat.append(float(curLine[-1]))
return dataMat,labelMat
xArr,yArr=loadDataSet("ex0.txt")
然后我们就可以开始绘制散点图了。
1、一般绘制方式:
import matplotlib.pyplot as plt
plt.scatter(xArr,yArr)
plt.show()
2、设置散点的大小
plt.scatter(x, y, s)
通过修改s的值即可,比如设置为5。
3、更改散点的颜色
plt.scatter(x, y, s, 'r')
4、更改散点的样式
5、为不同数据设置不同样式
length=len(yArr)//2
import matplotlib.pyplot as plt
plt.scatter(xArr[:length],yArr[:length],5,'r','^')
plt.scatter(xArr[length:],yArr[length:],5,'b',marker='o')
plt.show()
6、设置图例
import matplotlib.pyplot as plt
plt.scatter(xArr[:length],yArr[:length],5,'r','^',label='triangle')
plt.scatter(xArr[length:],yArr[length:],5,'b',marker='o',label='circle')
plt.legend(loc='best')
plt.show()
参考:
https://www.cnblogs.com/sench/p/9522627.html
https://blog.csdn.net/m0_37393514/article/details/81298503
- 【美团技术团队博客】RACSignal的Subscription深入分析
- 谈谈个人网站的建立(八)—— 缓存的使用
- 【编程基础】System.arraycopy()和 Arrays.copyOf()
- 移动端 模拟手机联系人触摸A~Z导航
- 谈谈个人网站的建立(七)—— 那些建站必备的插件
- 【美团技术团队博客】Linux资源管理之cgroups简介
- 谈谈个人网站的建立(六)—— 数据库同步
- Javascript解析机制 执行机制
- Tomcat9源码——编译环境搭建
- 谈谈个人网站的建立(五)—— 小集群的部署
- 跟Google学写代码--Chromium/base--cpu源码学习及应用
- Spring项目路径
- 跟Google学写代码--Chromium/base--stl_util源码学习及应用
- libphonenumber--windows上编译libphonenumber.lib以及使用(C++、VS2015)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python数据可视化图实现过程详解
- Python matplotlib 绘制双Y轴曲线图的示例代码
- keras 读取多标签图像数据方式
- python新手学习可变和不可变对象
- COS Android SDK DEMO搭建实践
- 利用COS多版本避免文件误删除
- kube-prometheus添加target
- 深入浅析python 中的self和cls的区别
- php中如何执行linux命令详解
- Linux下 php7安装redis的方法
- 基于Keras中Conv1D和Conv2D的区别说明
- python中有帮助函数吗
- 浅谈Python中的生成器和迭代器
- python支持多继承吗
- 什么是python的函数体