前言
前面说到的主要是matplotlib对于图像的基础操作,然后从这篇开始,主要说一下点图,分析点图在实际问题的数据处理中应用非常广泛,比如说逻辑回归是利用现有的数据点通过拟合得到一定的函数关系,甚至生活中,物体运动的轨迹,也可以看做是连续的点绘制而成,还有图像,也是很多个像素点堆砌而成的,在图像处理中经常会针对单个像素点进行处理。
现在的深度学习或者机器学习,模型都是固定的,大多 不需要怎么改动,而能提升训练效果的,最重要的就是能更好的处理数据,而很多数据本身就是点集,利用matplotlib将点绘制成可视化的图像,也方便人工智能工程师的分析理解,毕竟可视化的效果,总比看着枯燥的数据想象要来的更好。
在python中画散点图主要是用matplotlib模块中的scatter函数,先来看一下scatter函数的基本信息。
可以看到scatter中有很多参数,经常使用的参数主要有以下几个:
散点图
以下是一个散点图的简单演示,利用numpy的random函数生成随机数,然后将这些点画出来。如图安装图中API设置窗口的参数,这里简单说一下cmap='jet_r'这个,jet_r是一个颜色映射算法,就是系统会根据图像中的信息自动配置颜色,这里也可以自己设置颜色,也可以用其他的颜色映射表示。
绘制散点图相关API:
mp.scatter( xarray, yarray, # 给出点的坐标 marker='', # 点型 s = 60, # 点的大小 edgecolor='', # 边缘色 facecolor='', # 填充色 zorder=3, # 绘制图层编号 c=d, # 设置过渡性颜色 cmap='jet' # 颜色映射 )
随机生成符合 正态分布 的随机数:
n = 500 # 随机生成n个数 # 172: 数学期望 # 20: 标准差 x = np.random.normal(172, 20, n)
import numpy as np import matplotlib.pyplot as mp n = 500 # 随机生成500个样本身高 x = np.random.normal(172, 10, n) # 随机生成500个样本体重 y = np.random.normal(65, 10, n) mp.figure('Persons', facecolor='lightgray') mp.title('Person Points', fontsize=16) mp.xlabel('Height', fontsize=12) mp.ylabel('Weight', fontsize=12) mp.tick_params(labelsize=10) mp.grid(linestyle=':') d = (x-172)**2 + (y-65)**2 mp.scatter(x, y, c=d, cmap='jet_r', alpha=0.6, label='Person', s=50) mp.legend() mp.show()
总结
到此这篇关于Python matplotlib绘制散点图的文章就介绍到这了,更多相关Python matplotlib绘制散点图内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!