一周学会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()
相关推荐
数据智能老司机3 分钟前
GPU 编程实战——使用 PyCUDA 与 CuPy 功能
人工智能·python·gpu
Forward♞7 分钟前
Qt——实现”Hello World“、认识对象树与Qt坐标系
开发语言·qt
草莓熊Lotso9 分钟前
《吃透 C++ 类和对象(中):拷贝构造函数与赋值运算符重载深度解析》
开发语言·c++·经验分享·笔记·其他
楚Y6同学18 分钟前
QT之键盘控制虚拟遥控系统开发总结
开发语言·c++·qt·串口通信
Cl_rown去掉l变成C34 分钟前
第R5周:天气预测
人工智能·python·深度学习·算法·tensorflow2
天下弈星~37 分钟前
变分自编码器VAE的Pytorch实现
图像处理·pytorch·python·深度学习·vae·图像生成·变分自编码器
这里有鱼汤1 小时前
新型震荡器CyberOsc指标详解及完整策略源码(含图)
python
一百天成为python专家1 小时前
OpenCV图像平滑处理方法详解
开发语言·人工智能·python·opencv·机器学习·支持向量机·计算机视觉
软测进阶1 小时前
【Python】Python 函数基本介绍(详细版)
开发语言·python
freed_Day2 小时前
Java进阶学习之Stream流的基本概念以及使用技巧
java·开发语言·学习