文章目录

  • 前言
  • 一、散点图函数
  • 二、函数参数介绍
  • 三、代码实例
  • 总结

前言

最近在搞聚类算法,所以难免会用到一些散点图的用法,总结一下,方便以后参考。


一、散点图函数

#首先调用一下画图的库
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画散点图相关推荐

  1. python画散点图-简单数据分析

    本文主要是使用python画散点图,对二维数据进行简单分析. 主要用到的库有matplotlib 如果运行过程中提示错误 import matplotlib.pyplot as plt ModuleN ...

  2. python画散点图 字体格式

    python画散点图 import numpy as np import matplotlib.pyplot as plt import pandas as pd from matplotlib.fo ...

  3. python画散点图类型-python画时间序列散点图

    matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数字类型.pandas的plot函数里,散点图类型"scatter"也要求数字型的,用时间类型的会报错. ...

  4. python画散点图分布-python画时间序列散点图

    在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...

  5. python画散点图-python画时间序列散点图

    在运维管理中,经常遇到时间序列的数据,比如网卡流量.在线用户数.并发连接数,等等.用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有画散点图的函数,但是该函数要求x轴是数 ...

  6. python画散点图程序-python画散点图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有 ...

  7. Python画散点图(Knn中数据)

    用之前做的KNN算法的数据画的散点图 我在这就只给出我变化之后main函数了 其实只是用了那个文件流的部分 可以在之前那个版本的knn算法中找到,或者你自己写一个就好了 if __name__ == ...

  8. python画散点图程序实例_【112】用python画散点图和直线图的小例子

    import numpy as np import matplotlib.pyplot as plt import random # 数据量. SIZE = 13 # 纵轴数据.np.linspace ...

  9. python画散点图-Python:matplotlib绘制散点图

    与线型图类似的是,散点图也是一个个点集构成的.但不同之处在于,散点图的各点之间不会按照前后关系以线条连接起来. 用plt.plot画散点图 奇怪,代码和前面的例子差不多,为什么这里显示的却是散点图而不 ...

  10. python画散点图<plt.scatter() 和sns.scatterplot()>

    plt.scatter()画散点图 (matplotlib.pyplot.scatter) ------------------------------------------------------ ...

最新文章

  1. 技术图文:位运算技术在求解算法题中的应用
  2. (设计模式)简单工厂模式之通过配置文件动态创建实现类
  3. 小程序空显示undefined_微信小程序显示ESP8266上传的实时显示温湿度数据
  4. 原来程序员成长的关键竟然是它?!
  5. 这台计算机没有连接到网络怎么办,如果计算机连接到路由器并且没有互联网,该怎么办...
  6. 基于迁移学习的农作物病虫害检测方法研究与应用
  7. Fiddler- 数据Mock(转)
  8. 财务分析真不难!无需代码,一个模板直接复用,碾压上千Excel表
  9. (强烈推荐)无线网络密码破解方法
  10. 9008刷机模式写入超时刷机帮_【转】高通9008模式刷机,让小米刷机不再畏惧
  11. opencv之调取摄像头拍照
  12. matlab基波有效值,基波有效值
  13. 五分钟解读“大数据”
  14. 第25章 串行FLASH文件系统FatFs—零死角玩转STM32-F429系列
  15. java web 甘特图_基于Web开发的甘特图控件,支持Java、.Net
  16. AI赋能下的出入口控制技术在公共安全建设中的深度应用
  17. H5能取代移动app(Android和iOS)吗?
  18. Unity官方案例——Roll a ball
  19. 免费主机 虚拟主机 香港虚拟主机
  20. 美国邮编及电话号码区域查询

热门文章

  1. Oracle数据库删除重复的记录
  2. hightec教程_如何用VectorCAST/C++做单元集成测试?
  3. python ffmpeg转码_使用FFMPEG进行HTML5 /和实时转码
  4. xml mysql 树形数据删除_使用递归删除树形结构的所有子节点(java和mysql实现)
  5. php100视频教程(全集)
  6. Java Web应用开发实用教程_Java Web应用开发实用教程
  7. 我来学网络——三种数据通信方式
  8. Apache LoadModule php5_module 配置
  9. maven package 打包报错 Failed to execute goal
  10. AX2012 R2安装