一周学会Matplotlib3 Python 数据可视化-绘制散点图(Scatter)

锋哥原创的Matplotlib3 Python数据可视化视频教程:

2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

课程介绍

本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置,绘图参数及主要函数,以及Matplotlib基础绘图,和Matplotlib高级绘图。

绘制散点图(Scatter)

散点图用于展示两个变量之间的关系,每个点的位置由两个变量的值决定,常用于观察数据分布、聚类或相关性分析。

基础语法:

复制代码
plt.scatter(
    x, y,           # 必需:数据点的x/y坐标(数组)
    s=None,         # 点的大小(标量或数组)
    c=None,         # 点的颜色(颜色名、RGB、数组)
    marker=None,    # 点标记样式(字符串或路径)
    alpha=None,     # 透明度(0-1)
    edgecolors=None,# 边缘颜色
    linewidths=None,# 边缘线宽
    cmap=None,      # 颜色映射(当c为数值数组时)
    vmin=None,      # 颜色映射最小值
    vmax=None,      # 颜色映射最大值
    **kwargs        # 其他Line2D属性
)

核心参数详解

  1. 数据坐标
  • x, y : 长度相同的数组,定义数据点在坐标系中的位置。 示例:x = [1, 2, 3], y = [4, 5, 6]
  1. 点大小 (s)
  • 标量 :所有点统一大小(单位: 的平方,如 s=100)。

  • 数组 :每个点独立大小(需与 x,y 长度相同),常用于气泡图。 示例:s = [10, 100, 200]

  1. 点颜色 (c)
  • 单一颜色 :字符串(如 'r')、RGB元组(如 (0.2, 0.5, 0.8))。

  • 颜色数组 :为每个点指定颜色(长度同 x,y),支持:

    • 颜色名列表:c=['red','blue','green']

    • 数值数组 :通过 cmap 映射为颜色(如热力图)。

  1. 点标记 (marker)

常用标记符号:

符号 描述 符号 描述
'.' 小圆点 'o' 大圆点
'v' 下三角形 '^' 上三角形
's' 正方形 'D' 菱形
'*' 五角星 '+' 加号
'x' 叉号 'p' 五边形
  1. 透明度 (alpha)
  • 范围 [0, 1]0 完全透明,1 完全不透明。
  1. 边缘控制
  • edgecolors : 边缘颜色(默认 'face' 与填充色相同)。

  • linewidths : 边缘线宽(默认 1.0)。

  1. 颜色映射 (cmap, vmin, vmax)

c 为数值数组时:

  • cmap : 指定颜色映射(如 'viridis', 'jet', 'coolwarm')。

  • vmin/vmax: 控制映射的数据范围(不指定则用数组最小/最大值)。

基础散点图示例:

复制代码
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
​
# 设置matplotlib使用黑体显示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
​
# 生成随机数据
np.random.seed(42)
x = np.random.rand(50)  # 50个随机X值
y = np.random.rand(50)  # 50个随机Y值
​
# 创建画布
plt.figure(figsize=(8, 6))
​
# 绘制散点图(基础版)
plt.scatter(x, y,
            color='blue',  # 点颜色
            marker='o',  # 点形状(圆形)
            alpha=0.7,  # 透明度
            edgecolors='black')  # 边缘颜色
​
# 添加标题和标签
plt.title("基本散点图", fontsize=14)
plt.xlabel("X-轴", fontsize=12)
plt.ylabel("Y-轴", fontsize=12)
​
# 显示网格
plt.grid(True, linestyle='--', alpha=0.5)
​
plt.show()
相关推荐
无限的鲜花8 小时前
反射(原创推荐)
java·开发语言
hhzz8 小时前
基于监控视频的水位尺自动识别技术方案与实现
python·opencv·yolo·图像识别·cv
yongche_shi8 小时前
ragas官方文档中文版(五十)
开发语言·python·ai·ragas·如何评估和改进 rag 应用
一路向北he8 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
weixin_408099679 小时前
OCR批量识别图片方案:从手动处理到自动化API系统(Python/Java/PHP实战)
图像处理·python·ocr·文字识别·api调用·批量识别·石榴智能
AI行业学习10 小时前
Notepad++ 官方下载 + 完整安装 + 全套优化配置(2026最新)
开发语言·人工智能·python·前端框架·html·notepad++
大圣编程10 小时前
Python中continue语句的用法是什么?
开发语言·前端·python
云烟成雨TD11 小时前
LangFlow 1.x 系列【5】可视化编辑页面功能说明
人工智能·python·agent
upgrador11 小时前
基础知识:C++ STL构造函数的左闭右开惯例及其实现原理
开发语言·c++
yoothey12 小时前
报废审批流规则引擎设计——责任链模式完整实现
linux·开发语言·bash