Matplotlib库学习之scatter(模块)

Matplotlib库学习之scatter(模块)

一、简介

Matplotlib 是 Python 中一个强大的绘图库,其中 matplotlib.pyplot.scatter 用于创建散点图。散点图在数据可视化中广泛用于展示两个变量之间的关系。

二、语法和参数

语法
python 复制代码
matplotlib.pyplot.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)
参数
  • x, y: 必选参数,代表散点图中每个点的 x 坐标和 y 坐标。
  • s: 可选,标量或数组,用于控制每个点的大小。
  • c: 可选,标量或数组,用于控制每个点的颜色。
  • marker : 可选,表示散点的形状,默认为 'o'
  • cmap : 可选,Colormap 对象或字符串,用于将标量数据映射到颜色。
  • norm : 可选,Normalize 对象,用于缩放颜色数据。
  • vmin, vmax: 可选,控制亮度标量数据的最小值和最大值。
  • alpha: 可选,标量,用于设置透明度。
  • linewidths: 可选,标量或数组,表示每个点的边缘宽度。
  • edgecolors: 可选,表示点的边缘颜色。
  • plotnonfinite : 可选,布尔值,如果为 True,会绘制非有限点(NaNInf)。
  • data: 可选,传递数据的对象。
  • kwargs : 其他传递给 matplotlib.axes.Axes.scatter 的参数。
返回值

返回一个 PathCollection 对象,表示绘制的散点图。

三、实例

3.1 绘制简单的散点图
python 复制代码
import matplotlib.pyplot as plt

# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]

# 绘制散点图
plt.scatter(x, y)
plt.title("Simple Scatter Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.show()

输出:

复制代码
显示一个简单的散点图,其中X轴表示1到5的值,Y轴表示2到6的值,每个点为一个圆形标记。
3.2 设置不同大小和颜色的点
python 复制代码
import matplotlib.pyplot as plt

# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [20, 50, 80, 200, 500]
colors = [10, 20, 30, 40, 50]

# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, cmap='viridis', alpha=0.6)
plt.title("Scatter Plot with Varying Sizes and Colors")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar()  # 添加颜色条
plt.show()

输出:

复制代码
显示一个散点图,其中每个点的大小和颜色各不相同,点的颜色根据'viridis'颜色映射来进行区分。
3.3 使用自定义标记形状和边缘颜色
python 复制代码
import matplotlib.pyplot as plt

# 数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
sizes = [100] * 5
colors = [0, 1, 2, 3, 4]

# 绘制散点图
plt.scatter(x, y, s=sizes, c=colors, marker='^', edgecolors='r', linewidths=2, cmap='plasma')
plt.title("Scatter Plot with Custom Marker and Edge Color")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.colorbar()  # 添加颜色条
plt.show()

输出:

复制代码
显示一个散点图,其中每个点的标记形状为三角形,并且有红色边缘,每个点的颜色根据'plasma'颜色映射来区分。

四、注意事项

  • 当使用 c 参数进行颜色映射时,如果 c 是标量数组,则需要指定 cmap 来定义颜色映射的范围。
  • alpha 参数可以用于调整点的透明度,值越低,点越透明。
  • edgecolors'none' 时,点将没有边缘颜色。
相关推荐
Scott9999HH6 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
AI云海7 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰8 小时前
[爬虫]-Urllib
爬虫·python
玉鸯9 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_4462608510 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
a11177610 小时前
2FA 验证码生成器(github登录验证 app)
笔记·学习
我的xiaodoujiao10 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
qetfw11 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户83562907805111 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python