python画散点图
文章目录
- 前言
- 一、散点图函数
- 二、函数参数介绍
- 三、代码实例
- 总结
前言
最近在搞聚类算法,所以难免会用到一些散点图的用法,总结一下,方便以后参考。
一、散点图函数
#首先调用一下画图的库
import matplotlib.pyplot as plt
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
#记得用完了这个函数要show一下,不然成不了图片
plt.show()
二、函数参数介绍
x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。用来表示散点图的横纵坐标,例如一个(100,99)的数据,x=100,y=99
s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小,数值越大对应的图中的点越大。
c:点的颜色,默认蓝色 ‘b’,也可以是个 RGB 或 RGBA 二维行数组。
写一下常用的颜色所对应的数组:
‘b’ blue
‘g’ green
‘r’ red
‘c’ cyan
‘m’ magenta
‘y’ yellow
‘k’ black
‘w’ white
marker:点的样式,默认小圆圈 ‘o’。
常用的点的样式:
‘.’:点(point marker)
‘,’:像素点(pixel marker)
‘o’:圆形(circle marker)
‘v’:朝下三角形(triangle_down marker)
‘^’:朝上三角形(triangle_up marker)
‘<‘:朝左三角形(triangle_left marker)
‘>’:朝右三角形(triangle_right marker)
‘1’:(tri_down marker)
‘2’:(tri_up marker)
‘3’:(tri_left marker)
‘4’:(tri_right marker)
‘s’:正方形(square marker)
‘p’:五边星(pentagon marker)
‘*’:星型(star marker)
‘h’:1号六角形(hexagon1 marker)
‘H’:2号六角形(hexagon2 marker)
‘+’:+号标记(plus marker)
‘x’:x号标记(x marker)
‘D’:菱形(diamond marker)
‘d’:小型菱形(thin_diamond marker)
‘|’:垂直线形(vline marker)
‘_’:水平线形(hline marker)
cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。
还没搞明白这玩意的用法。
norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用,改变点的亮度。
vmin,vmax:亮度设置,在 norm 参数存在时会忽略。
alpha:透明度设置,0-1 之间,默认 None,即不透明。
linewidths:标记点的长度。
edgecolors:颜色或颜色序列,默认为 ‘face’,可选值有 ‘face’, ‘none’, None。表示的是点的描边的颜色,例如 edgecolors=‘r’ 就是让边的颜色为红色。
plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。
**kwargs::其他参数。
三、代码实例
在这里我们先引入一个点的数据命名为 data.txt
151,54
137,55
95,66
156,91
193,101
58,104
133,105
120,118
167,136
110,149
96,174
22,184
60,193
88,198
177,202
213,235
133,249
127,255
70,257
40,273
64,271
168,286
126,325
132,335
读入点的数据并画图,我们这里是用的pandas读的,pandas读出来之后数据格式比较麻烦,我们得对他进行数据处理。
import matplotlib.pyplot as plt
import pandas as pd#读入文件
file_path = "data.txt"
df = pd.read_table(file_path, header=None)#定义 x y变量
x = []
y = []#定义颜色变量
color = ['c', 'b', 'g', 'r', 'm', 'y', 'k', 'w']#用for循环将文件中的值赋值给x,y
for i in range(len(df[0])):x.append(int(df[0][i].split(',')[0]))y.append(int(df[0][i].split(',')[1]))#画图
plt.scatter(x, y, c=color[1], edgecolors='r')
plt.show()
代码所示图的样式:
在这里我在附一张用Kmeans聚类算法画的图。
这里我聚成了4个类,分别用不同的颜色和图形来表示,效果很明显。
总结
散点图的函数参数有很多,但常用的参数为(x,y,c,marker,edgecolors),其余的如果不是特别专业基本用不到。还有就是里面所用到的参数都是list类型,如果不是记得将他们转换。
本文参数的类型介绍参考至菜鸟教程:Matplotlib 散点图,附上网址https://www.runoob.com/matplotlib/matplotlib-scatter.html,如有侵权联系删除。
python画散点图相关推荐
- python画散点图-简单数据分析
本文主要是使用python画散点图,对二维数据进行简单分析. 主要用到的库有matplotlib 如果运行过程中提示错误 import matplotlib.pyplot as plt ModuleN ...
- python画散点图 字体格式
python画散点图 import numpy as np import matplotlib.pyplot as plt import pandas as pd from matplotlib.fo ...
- python画散点图类型-python画时间序列散点图
matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数字类型.pandas的plot函数里,散点图类型"scatter"也要求数字型的,用时间类型的会报错. ...
- python画散点图分布-python画时间序列散点图
在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...
- python画散点图-python画时间序列散点图
在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...
- python画散点图程序-python画散点图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有 ...
- Python画散点图(Knn中数据)
用之前做的KNN算法的数据画的散点图 我在这就只给出我变化之后main函数了 其实只是用了那个文件流的部分 可以在之前那个版本的knn算法中找到,或者你自己写一个就好了 if __name__ == ...
- python画散点图程序实例_【112】用python画散点图和直线图的小例子
import numpy as np import matplotlib.pyplot as plt import random # 数据量. SIZE = 13 # 纵轴数据.np.linspace ...
- python画散点图-Python:matplotlib绘制散点图
与线型图类似的是,散点图也是一个个点集构成的.但不同之处在于,散点图的各点之间不会按照前后关系以线条连接起来. 用plt.plot画散点图 奇怪,代码和前面的例子差不多,为什么这里显示的却是散点图而不 ...
- python画散点图<plt.scatter() 和sns.scatterplot()>
plt.scatter()画散点图 (matplotlib.pyplot.scatter) ------------------------------------------------------ ...
最新文章
- 技术图文:位运算技术在求解算法题中的应用
- (设计模式)简单工厂模式之通过配置文件动态创建实现类
- 小程序空显示undefined_微信小程序显示ESP8266上传的实时显示温湿度数据
- 原来程序员成长的关键竟然是它?!
- 这台计算机没有连接到网络怎么办,如果计算机连接到路由器并且没有互联网,该怎么办...
- 基于迁移学习的农作物病虫害检测方法研究与应用
- Fiddler- 数据Mock(转)
- 财务分析真不难!无需代码,一个模板直接复用,碾压上千Excel表
- (强烈推荐)无线网络密码破解方法
- 9008刷机模式写入超时刷机帮_【转】高通9008模式刷机,让小米刷机不再畏惧
- opencv之调取摄像头拍照
- matlab基波有效值,基波有效值
- 五分钟解读“大数据”
- 第25章 	串行FLASH文件系统FatFs—零死角玩转STM32-F429系列
- java web 甘特图_基于Web开发的甘特图控件,支持Java、.Net
- AI赋能下的出入口控制技术在公共安全建设中的深度应用
- H5能取代移动app(Android和iOS)吗?
- Unity官方案例——Roll a ball
- 免费主机 虚拟主机 香港虚拟主机
- 美国邮编及电话号码区域查询
热门文章
- Oracle数据库删除重复的记录
- hightec教程_如何用VectorCAST/C++做单元集成测试?
- python ffmpeg转码_使用FFMPEG进行HTML5 /和实时转码
- xml mysql 树形数据删除_使用递归删除树形结构的所有子节点(java和mysql实现)
- php100视频教程(全集)
- Java Web应用开发实用教程_Java Web应用开发实用教程
- 我来学网络——三种数据通信方式
- Apache LoadModule php5_module 配置
- maven package 打包报错 Failed to execute goal
- AX2012 R2安装