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

目录

  • 数据可视化
    • 1.使用 matplotlib 库
        • matplotlib 库
    • 2 .使用 seaborn 库
        • seaborn 库
    • 3 .使用 pyecharts库
        • pyecharts库
      • 注意
        • 1. 确保安装了所有必要的库
        • 2. 检查Jupyter Notebook的版本
        • 3. 使用`render()`方法保存为HTML文件
        • 4. 使用`IFrame`在Notebook中显示HTML文件
        • 5. 检查是否有其他输出干扰
        • 6. 重启Jupyter Notebook
  • 比较三种库的特点
    • 选择建议
      • 目标
  • 总结

在这里插入图片描述

数据可视化

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('X-axis')plt.ylabel('Y-axis')plt.title('Scatter Plot')
  • 添加图例和网格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 库
  • 导入库import seaborn as snsimport matplotlib.pyplot as plt
  • 创建数据x = [1, 2, 3, 4, 5]y = [2, 3, 5, 7, 11]
  • 绘制散点图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()

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 Scatterfrom 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(),在普通Python脚本中使用render("scatter_plot.html")

注意

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

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

首先,确保已经安装了pyecharts及其相关依赖。可以使用以下命令来安装:

pip install pyecharts
2. 检查Jupyter Notebook的版本

确保使用的Jupyter Notebook版本支持render_notebook()方法。通常情况下,较新版本的Jupyter Notebook应该没有问题。

3. 使用render()方法保存为HTML文件

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

# 渲染图表并保存为HTML文件
scatter.render("scatter_plot.html")

保存后,你可以在文件浏览器中找到scatter_plot.html文件并双击打开它,查看图表。

4. 使用IFrame在Notebook中显示HTML文件

如果你希望在Jupyter Notebook中直接显示HTML文件,可以使用IPython.display.IFrame来实现。

from IPython.display import IFrame# 渲染图表并保存为HTML文件
scatter.render("scatter_plot.html")# 在Notebook中显示HTML文件
IFrame('scatter_plot.html', width=800, height=600)
5. 检查是否有其他输出干扰

有时候,Jupyter Notebook中的其他输出可能会干扰图表的显示。确保在执行绘图代码之前没有其他输出。

6. 重启Jupyter Notebook

如果以上方法都不奏效,可以尝试重启Jupyter Notebook服务器,有时这可以解决一些临时性的问题。


比较三种库的特点

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

选择建议

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

目标

  • 学习和实践:通过实际操作,掌握使用 matplotlibseabornpyecharts 绘制散点图的方法。
  • 比较不同库的特点:了解每个库的优缺点,选择最适合具体需求的工具。
  • 数据可视化:通过散点图展示数据之间的关系,帮助更好地理解和解释数据。

总结

嘿,数据可视化这事儿暂时要告一段落啦,不过以后有机会的话,咱还能再写写关于数据可视化的东西。😎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/14943.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

用vscode编写verilog时,如何有信号定义提示、信号定义跳转(go to definition)、模块跳转这些功能

(一)安装插件SystemVerilog - Language Support 安装一个vscode插件即可,插件叫SystemVerilog - Language Support。虽然说另一个插件“Verilog-HDL/SystemVerilog/Bluespec SystemVerilog”也有信号提示及定义跳转功能,但它只能提…

LLM RAG系列:一文详解RAG,看完这篇你必会(文末福利)

RAG系列 本文介绍了RAG以及RAG pipeline的整个流程,包括请求转换、路由和请求构造、索引和检索、生成和评估等,其中引用了大量有价值的论文。 参考Advanced RAG Series: Generation and Evaluation中的5篇文章,并丰富了相关内容。 请求转换…

服务器硬件介绍

计算机介绍 现在的人们几乎无时无刻都在使用电脑!而且已经离不开电脑了。像桌上的台式电脑(桌机)、笔记本电脑(笔电)、平板电脑、智能手机等等,这些东西都算是电脑。 台式机电脑介绍 计算机又被称为电脑。台式机电脑主要分为主机和显示器两个部分&…

docker启动mysql数据库镜像,开启大小写不敏感,开启不区分大小写,挂载数据库日志文件,挂载数据库文件

docker启动mysql数据库镜像,开启大小写不敏感,开启不区分大小写,挂载数据库日志文件,挂载数据库文件 查询数据库是否区分大小写 SHOW VARIABLES LIKE lower_case_table_names;查询数据库是否支持大小写lower_case_table_names 被设置为 1,即表名不区分大小写。如果值为 1…

SpringBoot 打造图片阅后即焚功能

阅后即焚”(Snapchat-like feature)是指一种社交媒体或信息传递功能,用户在阅读某条信息或查看某张图片后,该信息或图片会自动销毁,无法再次查看。这种功能的主要目的是保护用户的隐私和信息安全,防止敏感信…

年轻人应该读毛选(一到五卷)!!!

在线网址:中文马克思主义文库毛泽东 (marxists.org) 书籍的现实意义,往往是在读后很久才能有所体会的。 推荐《毛泽东选集》——智慧与实践的经典之作 今天想给大家推荐一本充满智慧和深刻洞见的书——《毛泽东选集》。这不仅是一本书,更是…

Java期末复习暨学校第六次上机课作业

Java期末复习暨学校第六次上机课作业: 第一题: 通过new关键字实例化了一个Students类对象s,并调用set方法分别赋值,最后调用study和introduce方法。 输出结果: 第二题: 给出了一个无参构造方法和有参构造…

【操作系统】守护进程

一、守护进程的概念 守护进程是一个在后台运行并且不受任何终端控制的进程 二、自己实现守护进程 1.预备知识 (1)/dev/null /dev/null是一个特殊的设备文件,往这个文件里写不进去任何数据,也读不出来任何数据 因此&#xff0…

MySQL数据库常用命令大全(完整版——表格形式)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

TCP滑动窗口

TCP滑动窗口(Sliding Window) 什么是滑动窗口? TCP滑动窗口是TCP协议中的一种流量控制机制,用于调节发送方和接收方之间的数据传输速率,以避免网络拥塞和提高传输效率。 滑动窗口机制允许发送方在不等待确认应答的情…

main中的int argc, char* argv[],命令行调用函数时输入参数用的

int argc:表示命令行参数的数量。argc 至少为1,因为第一个参数总是程序的名称。char* argv[]:是一个字符指针数组,用于存储每个命令行参数的字符串。argv[0] 是程序的名称,argv[1] 是第一个参数,依此类推。…

Vue 批量注册组件实现动态组件技巧

介绍 Vue 动态组件的应用场景很多,可应用于动态页签,动态路由等场景,其核心原理是批量注册。在Vue2和Vue3中实现原理相同,只是语法略有差异。 Vue2 实现 基于 webpack require.context() 是webpack提供的一个自动导入的API 参数1:加载的文件目录 参数2&#xff…

仓储管理系统-综合管理(源码+文档+部署+讲解)

本文将深入解析“仓储管理系统-综合管理”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 仓储管理系统-综合管理是一个全面的仓库管理解决方案,旨在通过集成多种功能模块来优化仓库操作和管理流程。该系统提供了…

xxl-job 是如何注册、注销、维持存活态

我们通过源码发现,xxl-job主要是由客户端发起的注册和存活上报(心跳检测)的; 主要是执行器在启动时,会初始化一个线程,每隔30秒请求调度中心接口,维护存活状态; 注册接口/上报接口:/api/regis…

Ps:OpenColorIO 设置

Ps菜单:编辑/OpenColorIO 设置 Edit/OpenColorIO Settings 在专业的图像编辑和色彩管理工作流程中,准确的色彩呈现和转换至关重要。OpenColorIO(OCIO) 是一种开源的色彩管理框架,广泛应用于影视、动画和视觉特效行业。…

如何抓取某大学网站专业录取分数

当我们在浏览器中浏览网页时,网页上显示的数据实际上已经被加载到浏览器内存中,只是以一种可视化的方式呈现出来。那么是否有一种简便的方法可以将这些数据从网页中提取出来,并保存为表格格式呢? 这是某大学的专业分数录取情况数…

举例理解LSM-Tree,LSM-Tree和B+Tree的比较

写操作 write1:WAL 把操作同步到磁盘中WAL做备份(追加写、性能极高) write2:Memtable 完成WAL后将(k,v)数据写入内存中的Memtable,Memtable的数据结构一般是跳表或者红黑树 内存内采用这种数据结构一方面支持内存…

JAVA开源项目 微服务在线教育系统 计算机毕业设计

博主说明:本文项目编号 T 060 ,文末自助获取源码 \color{red}{T060,文末自助获取源码} T060,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

深入浅出《钉钉AI》产品体验报告

1. 引言 随着人工智能技术的迅猛发展,企业协同办公领域迎来了新的变革。钉钉作为阿里巴巴集团旗下的企业级通讯与协同办公平台,推出了钉钉AI助理,旨在提高工作效率,优化用户体验。本报告将对钉钉AI助理进行全面的产品体验分析&am…

揭开基础动销方案的神秘面纱

在如今竞争激烈的市场大环境下,产品实现有效动销可谓是企业生存发展的关键所在。而基础动销方案,正是推动产品销售的重要利器。 基础动销方案到底是什么呢?它指的是企业为促进产品销售,运用一系列营销手段和策略,提升产…