一周学会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()
相关推荐
Appreciate(欣赏)1 天前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql
oioihoii1 天前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
开发语言·c++
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
思密吗喽1 天前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
Rust语言中文社区1 天前
【Rust日报】Dioxus 用起来有趣吗?
开发语言·后端·rust
小灰灰搞电子1 天前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust
q***23571 天前
python的sql解析库-sqlparse
数据库·python·sql
18你磊哥1 天前
Django WEB 简单项目创建与结构讲解
前端·python·django·sqlite
无限进步_1 天前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
月殇_木言1 天前
Python期末复习
开发语言·python