一周学会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()
相关推荐
2401_8582861117 分钟前
CD75.【C++ Dev】异常
开发语言·c++·异常
魔力之心1 小时前
R notes[2]
开发语言·r语言
再努力"亿"点点2 小时前
炫酷JavaScript鼠标跟随特效
开发语言·前端·javascript
正义的大古2 小时前
OpenLayers 入门篇教程 -- 章节三 :掌控地图的视野和交互
开发语言·vue.js
THMAIL2 小时前
机器学习从入门到精通 - 降维艺术:PCA与t-SNE带你玩转高维数据可视化
人工智能·python·决策树·随机森林·机器学习·分类·bootstrap
看月亮的方源2 小时前
B站小土堆-pytorch深度学习快速入门笔记
pytorch·python
pythonpapaxia2 小时前
Java异常处理:掌握优雅捕获错误的艺术
java·开发语言·python·其他
l1t3 小时前
利用美团longcat.ai编写的C语言支持指定压缩算法通用ZIP压缩程序
c语言·开发语言·人工智能·算法·zip·压缩
Rhys..3 小时前
python sqlalchemy模型的建立
jvm·数据库·python·oracle