首页 > Python基础教程 > Python数据可视化
阅读:3,150
Python Matplotlib scatter函数:绘制散点图
散点图和折线图需要的数组非常相似,区别是折线图会将各数据点连接起来;而散点图则只是描绘各数据点,并不会将这些数据点连接起来。
调用 Matplotlib 的 scatter() 函数来绘制散点图,该函数支持如下常用参数:
下面程序示范了如何使用 scatter() 函数来绘制散点图:
此外,程序在第 9 行代码之后还调用了两次 scatter() 函数,这意味将会叠加两个散点图。后面两次绘制散点图的代码分别用于绘制 x_data、sin(x+data) 的第一个点和最后一个点,这样即可突出显示散点图的起点和结束点。
运行上面程序,可以看到如图 1 所示的效果。
图 1 Matplotlib scatter绘制散点图
调用 Matplotlib 的 scatter() 函数来绘制散点图,该函数支持如下常用参数:
- x:指定 X 轴数据。
- y:指定 Y 轴数据。
- s:指定散点的大小。
- c:指定散点的颜色。
- alpha:指定散点的透明度。
- linewidths:指定散点边框线的宽度。
- edgecolors:指定散点边框的颜色。
- marker:指定散点的图形样式。应参数支持'.'(点标记)、','(像素标记)、'o'(圆形标记)、'v'(向下三角形标记)、'^'(向上三角形标记)、'<'(向左三角形标记)、'>'(向右三角形标记)、'1'(向下三叉标记)、'2'(向上三叉标记)、'3'(向左三叉标记)、'4'(向右三叉标记)、's'(正方形标记)、'p'(五地形标记)、'*'(星形标记)、'h'(八边形标记)、'H'(另一种八边形标记)、'+'(加号标记)、'x'(x标记)、'D'(菱形标记)、'd'(尖菱形标记)、'|'(竖线标记)、'_'(横线标记)等值。
- cmap:指定散点的颜色映射,会使用不同的颜色来区分散点的值。
下面程序示范了如何使用 scatter() 函数来绘制散点图:
import matplotlib.pyplot as plt import numpy as np plt.figure() # 定义从-pi到pi之间的数据,平均取64个数据点 x_data = np.linspace(-np.pi, np.pi, 64, endpoint=True) # ① # 将整个figure分成两行两列,第三个参数表示该图形放在第1个网格 # 沿着正弦曲线绘制散点图 plt.scatter(x_data, np.sin(x_data), c='purple', # 设置点的颜色 s=50, # 设置点半径 alpha = 0.5, # 设置透明度 marker='p', # 设置使用五边形标记 linewidths=1, # 设置边框的线宽 edgecolors=['green', 'yellow']) # 设置边框的颜色 # 绘制第二个散点图(只包含一个起点),突出起点 plt.scatter(x_data[0], np.sin(x_data)[0], c='red', # 设置点的颜色 s=150, # 设置点半径 alpha = 1) # 设置透明度 # 绘制第三个散点图(只包含一个结束点),突出结束点 plt.scatter(x_data[63], np.sin(x_data)[63], c='black', # 设置点的颜色 s=150, # 设置点半径 alpha = 1) # 设置透明度 plt.gca().spines['right'].set_color('none') plt.gca().spines['top'].set_color('none') plt.gca().spines['bottom'].set_position(('data', 0)) plt.gca().spines['left'].set_position(('data', 0)) plt.title('正弦曲线的散点图') plt.show()上面程序使用 numpy 中的 linespace() 函数创建了一个列表作为 X 轴数据,程序使用 np.sin() 函数计算一系列 sin 值作为 Y 轴数据。程序中第 9 行代码负责生成一个散点图,该散点图包含 64 个数据点。
此外,程序在第 9 行代码之后还调用了两次 scatter() 函数,这意味将会叠加两个散点图。后面两次绘制散点图的代码分别用于绘制 x_data、sin(x+data) 的第一个点和最后一个点,这样即可突出显示散点图的起点和结束点。
运行上面程序,可以看到如图 1 所示的效果。
图 1 Matplotlib scatter绘制散点图
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频