跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI

Python 绘图工具详解:使用 Matplotlib、Seaborn 和 Pyecharts 绘制散点图

综述由AI生成三种 Python 绘图库 Matplotlib、Seaborn 和 Pyecharts 在绘制散点图时的使用方法。通过具体代码示例展示了各库的导入、数据创建及图表渲染步骤。对比了三种库的特点,Matplotlib 适合静态科研图表,Seaborn 样式美观适合统计分析,Pyecharts 交互性强适合网页展示。文章还包含 Jupyter Notebook 中 Pyecharts 显示问题的排查建议,帮助开发者根据需求选择合适的可视化工具。

Elasticer发布于 2026/3/30更新于 2026/5/2428 浏览
Python 绘图工具详解:使用 Matplotlib、Seaborn 和 Pyecharts 绘制散点图

数据可视化

1. 使用 matplotlib 库

import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 使用 matplotlib 绘制散点图
plt.scatter(x, y, label='Data Points', color='blue', marker='o')

# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter Plot')

# 添加图例和网格
plt.legend()
plt.grid(True)

# 显示图形
plt.show()

散点图示例

matplotlib 库说明:

  • 导入库:import matplotlib.pyplot as plt
  • 创建数据:x = [1, 2, 3, 4, 5] 和 y = [2, 3, 5, 7, 11]
  • 绘制散点图:plt.scatter(x, y, label='Data Points', color='blue', marker='o')
  • 添加标签和标题:plt.xlabel(), plt.ylabel(), plt.title()
  • 添加图例和网格:plt.legend(), plt.grid(True)
  • 显示图形:plt.show()

2. 使用 seaborn 库

import seaborn as sns
import matplotlib.pyplot as plt

# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# 使用 Seaborn 绘制散点图
sns.scatterplot(x=x, y=y, label='Data Points')

# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter Plot')

# 添加图例和网格
plt.legend()
plt.grid(True)

# 显示图形
plt.show()

Seaborn 散点图示例

seaborn 库说明:

  • 导入库:import seaborn as sns 和 import matplotlib.pyplot as plt
  • 创建数据:同上
  • 绘制散点图:sns.scatterplot(x=x, y=y, label='Data Points')
  • 其他设置:与 matplotlib 类似,通过 plt 接口完成

3. 使用 pyecharts 库

from pyecharts.charts import Scatter
from pyecharts import options as opts

# 创建数据
data = [(1, 2), (2, 3), (3, 5), (4, 7), (5, 11)]

# 创建散点图对象
scatter = (
    Scatter()
    .add_xaxis([x for x, y in data])
    .add_yaxis("Data Points", [y for x, y in data])
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Scatter Plot"),
        xaxis_opts=opts.AxisOpts(name="X-axis"),
        yaxis_opts=opts.AxisOpts(name="Y-axis"),
    )
)

# 渲染图表
# 如果在 Jupyter Notebook 中运行,使用 render_notebook()
scatter.render_notebook()
# 如果在普通 Python 脚本中运行,使用 render() 保存为 HTML 文件
# scatter.render("scatter_plot.html")

pyecharts 库说明:

  • 导入库:from pyecharts.charts import Scatter 和 from pyecharts import options as opts
  • 创建数据:data = [(1, 2), ...]
  • 创建散点图对象:链式调用 .add_xaxis(), .add_yaxis()
  • 设置选项:.set_series_opts(), .set_global_opts()
  • 渲染图表:Notebook 用 render_notebook(),脚本用 render()
注意

如果你在 Jupyter Notebook 中运行这段代码,但是图表没有显示出来,可能是因为 render_notebook() 方法没有被正确执行,或者你的环境配置有问题。下面是一些可能的解决方案:

  1. 确保安装了所有必要的库

    pip install pyecharts
    
  2. 检查 Jupyter Notebook 的版本 确保使用的 Jupyter Notebook 版本支持 render_notebook() 方法。

  3. 使用 render() 方法保存为 HTML 文件 如果 render_notebook() 方法不起作用,可以尝试将图表保存为 HTML 文件,然后手动打开这个文件查看图表。

    scatter.render("scatter_plot.html")
    
  4. 使用 IFrame 在 Notebook 中显示 HTML 文件

    from IPython.display import IFrame
    scatter.render("scatter_plot.html")
    IFrame('scatter_plot.html', width=800, height=600)
    
  5. 检查是否有其他输出干扰 确保在执行绘图代码之前没有其他输出。

  6. 重启 Jupyter Notebook 如果以上方法都不奏效,可以尝试重启 Jupyter Notebook 服务器。


比较三种库的特点

库特点适用场景
matplotlib基础库,支持自定义,静态图表科研论文,数据分析报告
seaborn基于 matplotlib,样式美观统计分析,探索性数据分析
pyecharts交互性强,适合网页展示数据展示,交互式仪表板

选择建议

  • 如果需要在科研或数据分析中生成静态图表,matplotlib 是基础且可靠的选择。
  • 需要更多美观效果和便捷的统计分析时,seaborn 提供了友好的界面。
  • 若要在网页中展示交互式图表,pyecharts 能生成包含交互功能的 HTML 文件,非常适合网络发布。

总结

本文对比了 Matplotlib、Seaborn 和 Pyecharts 三种 Python 绘图库在绘制散点图时的用法与特点。Matplotlib 适合基础静态图表,Seaborn 适合统计美化,Pyecharts 适合交互式网页展示。开发者可根据具体需求选择合适的工具。

目录

  1. 数据可视化
  2. 1. 使用 matplotlib 库
  3. 创建数据
  4. 使用 matplotlib 绘制散点图
  5. 添加标签和标题
  6. 添加图例和网格
  7. 显示图形
  8. 2. 使用 seaborn 库
  9. 创建数据
  10. 使用 Seaborn 绘制散点图
  11. 添加标签和标题
  12. 添加图例和网格
  13. 显示图形
  14. 3. 使用 pyecharts 库
  15. 创建数据
  16. 创建散点图对象
  17. 渲染图表
  18. 如果在 Jupyter Notebook 中运行,使用 render_notebook()
  19. 如果在普通 Python 脚本中运行,使用 render() 保存为 HTML 文件
  20. scatter.render("scatter_plot.html")
  21. 注意
  22. 比较三种库的特点
  23. 选择建议
  24. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Stable Diffusion WebUI 本地部署步骤:CUDA、cuDNN 及 PyTorch GPU 安装(Win 11)
  • Maven 基础:在 IDEA 中构建与管理 Java 项目
  • Spring 国际化核心原理详解:4 大组件实现企业级多语言开发
  • 数据结构:单链表与双链表的操作详解
  • Linux 终端快捷键与历史命令使用指南
  • 使用 AI 辅助解析 9178CCC 编码格式的 Python 实践
  • C++ STL 关联容器 set 与 map 使用详解
  • C++ 获取应用程序路径的完整方法与实战技巧
  • Claude 官方 Skill-Creator:AI 技能工程化完整体系解析
  • 基于Python Django Flask Vue的大学生问卷调查管理系统
  • Java 核心面试题与答案整理(基础、并发、JVM 等)
  • To B 产品经理如何转型 AI 产品经理:路径与价值分析
  • 基于 OpenClaw 的 AI 自动化创作与公众号发布全流程
  • FPGA 中 RS485 收发器应用与毛刺处理方案
  • Flutter 基础组件:BottomNavigationBar 与 TabBar 多页切换及鸿蒙适配
  • ChatMed 开源中文医疗大模型介绍与对比分析
  • 家居家电行业大模型落地应用与趋势分析
  • Python 核心应用领域与开发环境配置详解
  • 基于 C++11 手写前端 Promise 实现
  • Windows 系统下安装与编译 llama.cpp

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online