Pandas 数据可视化指南:从散点图到面积图的全面展示
Pandas 数据可视化指南:从散点图到面积图的全面展示
本文介绍了使用 Pandas 进行数据可视化的多种方法,包括散点图、折线图、条形图、直方图、饼图和面积图等,涵盖了常见的图表类型及其实现方式。通过提供详细的代码示例,展示了如何使用 Pandas 和 Matplotlib 快速创建不同类型的图表,帮助读者轻松掌握数据可视化技术。这篇指南既适合初学者,也为有经验的开发者提供了一些实用技巧,帮助在数据分析中更直观地展示结果。
文章目录
- Pandas 数据可视化指南:从散点图到面积图的全面展示
- 一 散点图(Scatter)
- 二 折线图(Plot)
- 简单折线图
- 多折线图
- 三 条形图(Bar)
- 垂直条形图
- 堆叠条形图
- 水平条形图
- 四 直方图(Hist)
- 简单直方图
- 重叠直方图
- 五 饼图(Pie)
- 简单饼图
- 多个饼图
- 六 面积图(Area)
- 堆叠面积图
- 同起点面积图
- 七 完整代码示例
- 八 源码地址
导入库
在开始绘制图表之前,我们首先导入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
一 散点图(Scatter)

n = 1024 # 数据量
# 创建数据框
df = pd.DataFrame({"x": np.random.normal(0, 1, n),"y": np.random.normal(0, 1, n),
})
# 使用 arctan2 函数计算颜色
color = np.arctan2(df["y"], df["x"])
# 绘制散点图
df.plot.scatter(x="x", y="y", c=color, s=60, alpha=0.5, cmap="rainbow")
二 折线图(Plot)
简单折线图

n = 20 # 数据量
x = np.linspace(-1, 1, n)
y = x * 2 + 0.4 + np.random.normal(0, 0.3, n)
# 创建数据框
df = pd.DataFrame({"x": x,"y": y,
})
# 绘制折线图
df.plot(x="x", y="y", alpha=0.5, c="r")
多折线图

n = 20 # 数据量
x = np.linspace(-1, 1, n)
y1 = x * -1 - 0.1 + np.random.normal(0, 0.3, n)
y2 = x * 2 + 0.4 + np.random.normal(0, 0.3, n)
# 创建数据框
df = pd.DataFrame({"x": x,"y1": y1,"y2": y2,
})
# 绘制多折线图
df.plot(x="x", y=["y1", "y2"], alpha=0.5)
三 条形图(Bar)
垂直条形图

df = pd.DataFrame(np.random.rand(5, 3), columns=["a", "b", "c"])df.plot.bar()
堆叠条形图

df = pd.DataFrame(np.random.rand(5, 3), columns=["a", "b", "c"])df.plot.bar(stacked=True)
水平条形图

df = pd.DataFrame(np.random.rand(5, 3), columns=["a", "b", "c"])df.plot.barh()
四 直方图(Hist)
简单直方图

df = pd.DataFrame({"a": np.random.randn(1000)})
df.plot.hist()
重叠直方图

df = pd.DataFrame({"a": np.random.randn(1000) + 1,"b": np.random.randn(1000),"c": np.random.randn(1000) - 4,}
)df.plot.hist(alpha=0.5, bins=30)
五 饼图(Pie)
简单饼图

df = pd.DataFrame({"boss": np.random.rand(4)},index=["meeting", "supervise", "teaching", "team building"],)df.plot.pie(y="boss", figsize=(7, 7))
多个饼图

df = pd.DataFrame({"bigBoss": np.random.rand(4),"smallBoss": np.random.rand(4),},index=["meeting", "supervise", "teaching", "team building"],
)
df.plot.pie(subplots=True, figsize=(9, 9), legend=False)
六 面积图(Area)
堆叠面积图

#
df = pd.DataFrame(np.random.rand(10, 4),columns=["a", "b", "c", "d"]
)
df.plot.area()
同起点面积图

#
df = pd.DataFrame(np.random.rand(10, 4),columns=["a", "b", "c", "d"]
)
df.plot.area(stacked=False)
详情见官方文档:Pandas 可视化图表
七 完整代码示例
# This is a sample Python script.# Press ⌃R to execute it or replace it with your code.
# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings.
import numpy as np
import pandas as pd
import matplotlib.pyplot as pltdef print_hi(name):# Use a breakpoint in the code line below to debug your script.print(f'Hi, {name}') # Press ⌘F8 to toggle the breakpoint.# 散点图Scattern = 1024 # data sizedf = pd.DataFrame({"x": np.random.normal(0, 1, n),"y": np.random.normal(0, 1, n),})color = np.arctan2(df["y"], df["x"])df.plot.scatter(x="x", y="y", c=color, s=60, alpha=.5, cmap="rainbow")# 折线图Plotn = 20 # data sizex = np.linspace(-1, 1, n)y = x * 2 + 0.4 + np.random.normal(0, 0.3, n)df = pd.DataFrame({"x": x,"y": y,})df.plot(x="x", y="y", alpha=.5, c="r")n = 20 # data sizex = np.linspace(-1, 1, n)y1 = x * -1 - 0.1 + np.random.normal(0, 0.3, n)y2 = x * 2 + 0.4 + np.random.normal(0, 0.3, n)df = pd.DataFrame({"x": x,"y1": y1,"y2": y2,})df.plot(x="x", y=["y1", "y2"], alpha=.5)# 条形图Bardf = pd.DataFrame(np.random.rand(5, 3), columns=["a", "b", "c"])df.plot.bar()df.plot.bar(stacked=True)df.plot.barh()# 分布图Histdf = pd.DataFrame({"a": np.random.randn(1000)})df.plot.hist()df = pd.DataFrame({"a": np.random.randn(1000) + 1,"b": np.random.randn(1000),"c": np.random.randn(1000) - 4,})df.plot.hist(alpha=0.5, bins=30)# 饼图Piedf = pd.DataFrame({"boss": np.random.rand(4)},index=["meeting", "supervise", "teaching", "team building"],)df.plot.pie(y="boss", figsize=(7, 7))df = pd.DataFrame({"bigBoss": np.random.rand(4),"smallBoss": np.random.rand(4),},index=["meeting", "supervise", "teaching", "team building"],)df.plot.pie(subplots=True, figsize=(9, 9), legend=False)# 面积图Areadf = pd.DataFrame(np.random.rand(10, 4),columns=["a", "b", "c", "d"])df.plot.area()plt.show()df.plot.area(stacked=False)plt.show()# https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html# Press the green button in the gutter to run the script.
if __name__ == '__main__':print_hi('绘制图表')# See PyCharm help at https://www.jetbrains.com/help/pycharm/
复制粘贴并覆盖到你的 main.py 中运行,运行结果如下。
Hi, 绘制图表
八 源码地址
代码地址:
国内看 Gitee 之 pandas/绘制图表.py
国外看 GitHub 之 pandas/绘制图表.py
引用 莫烦 Python
相关文章:
Pandas 数据可视化指南:从散点图到面积图的全面展示
Pandas 数据可视化指南:从散点图到面积图的全面展示 本文介绍了使用 Pandas 进行数据可视化的多种方法,包括散点图、折线图、条形图、直方图、饼图和面积图等,涵盖了常见的图表类型及其实现方式。通过提供详细的代码示例,展示了如…...
Flink + Kafka 实现通用流式数据处理详解
Flink Kafka 实现通用流式数据处理详解 在大数据时代,实时数据处理和分析成为企业快速响应市场变化、提高业务效率和优化决策的关键技术。Apache Flink和Apache Kafka作为两个重要的开源项目,在数据流处理领域具有广泛的应用。本文将深入探讨Flink和Ka…...
Docker常用命令汇总
一、Docker基础命令 启动docker:systemctl start docker关闭docker:systemctl stop docker重启docker:systemctl restart dockerdocker设置随服务启动而自启动:systemctl enable docker查看docker 运行状态:systemctl…...
【Java笔记】0-为什么学习Java
呃,当然是为了找个Java的开发工作 当然是由于Java使用的人多和它天生自带的优点了~ 主要优点有以下几点: 简单性 C语法纯净版,没有头文件、指针运算、不用分配内存 面向对象 重点放在对象与其接口上,接近人的逻辑 可移植性 …...
海外云手机是什么?对外贸电商有什么帮助?
在外贸电商领域,流量引流已成为卖家们关注的核心问题。越来越多的卖家开始利用海外云手机,通过TikTok等社交平台吸引流量,以推动商品在海外市场的销售。那么,海外云手机到底是什么?它又能为外贸电商卖家提供哪些支持呢…...
【找到了】有人知道怎么在本地用记事本方式打开Linux文本文件吗?
就类似这种,我输入一个什么命令打开文件,就能在命令窗口上弹出一个编辑器来编辑文件。只记得好像有参数-e啥的。 命令行里面如何打开文本编辑器? () 在linux命令行terminal上使用gedit直接就可以打开文本文件 那么在…...
docker 安装postgresql
前提:准备好postgresql镜像,如:镜像地址/postgres:15.8 使用docker安装posgresql: 1.docker pull 镜像地址/postgres:15.8 2.docker run -d --namepostgres -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e PO…...
2004至2023中国分省统计面板数据-最新出炉_附下载链接
中国各省绿色税收相关数据(2007-2022年)概述 下载链接-点它👉👉👉:中国分省统计面板数据(2004-2023)-最新出炉.zip 资源介绍 绿色税收主要是指以保护环境、合理开发利用自然资源、…...
【算法】排序算法总结
文章目录 内排序一、插入排序1.1 直接插入排序1.2 折半插入排序1.3 希尔排序 二、选择排序2.1 简单选择排序2.2 堆排序 三、交换排序3.1 冒泡排序3.2 快速排序Hoare版挖坑法快速排序前后指针法快速排序的非递归 四、归并排序递归版本非递归版本 五、基数排序六、计数排序内排序…...
双11来了,云计算优惠大集合
京东云 2C2G强烈推荐 连接直达...
13. MapReduce自定义OutputFormat
一. OutputFormat简介 OutputFormat是MapReduce输出的基类,所有MapReduce输出都实现了OutputFormat接口,它接收ReduceTask产生的数据,然后将结果按照指定格式输出。 在MapReduce中,如果不指定,默认使用的是TextOutpu…...
Javase——正则表达式
正则表达式的相关使用 public static void main(String[] args) {//校验QQ号 System.out.println("3602222222".matches("[1-9][0-9]{4,}"));// 校验18位身份证号 System.out.println("11050220240830901X".matches("^([0-9]){7,18}…...
云原生文件系统之JuiceFS
JuiceFS 是一个分布式文件系统,专门为云原生环境设计,支持大规模数据存储和处理,特别适用于处理对象存储和大数据应用。JuiceFS 将元数据和数据分离,元数据保存在数据库中,而文件数据则存储在对象存储中,提…...
C++:输入和输出
一 . DEV C的下载和安装 二 . 第一个C程序 三 . 输出流 四 . 初始的数据类型 3.1、整型变量 3.2、双精度浮点数变量 3.3、字符型变量 3.4、字符串变量 3.5、无符号整型变量 五、输入流...
vue的路由的两种模式 hash与history 详细讲解
文章目录 1. Hash 模式工作原理优点缺点使用示例 2. History 模式工作原理优点缺点服务器配置示例使用示例 总结 Vue Router 是 Vue.js 的官方路由管理器,它支持多种路由模式,其中最常用的两种是 hash 模式和 history 模式。下面我们详细讲解这两种模式的…...
【Linux操作系统】进程间通信之匿名管道与命名管道
目录 一、进程间通信的目的:二、进程间通信的种类三、什么是管道四、匿名管道(共同祖先的进程之间)1.匿名管道的使用2.匿名管道举例3.匿名管道的原理4.管道特点5.管道的读写规则1. 当管道内没有数据可读时2.当管道满的时候3.管道端被关闭4.数…...
慢sql优化和Explain解析
要想程序跑的快,sql优化不可懈怠!今日来总结一下常用的慢sql的分析和优化的方法。 1、慢sql的执行分析: 大家都知道分析一个sql语句执行效率的方法是用explain关键词: 举例:sql:select * from test where bussiness_…...
ALIGN_ Tuning Multi-mode Token-level Prompt Alignment across Modalities
文章汇总 当前的问题 目前的工作集中于单模提示发现,即一种模态只有一个提示,这可能不足以代表一个类[17]。这个问题在多模态提示学习中更为严重,因为视觉和文本概念及其对齐都需要推断。此外,仅用全局特征来表示图像和标记是不…...
【Java SE】代码注释
代码注释 注释(comment)是用于说明解释程序的文字,注释的作用在于提高代码的阅读性(可读性)。Java中的注释类型包括3种,分别是: 单行注释多行注释文档注释 ❤️ 单行注释 基本格式ÿ…...
如何在算家云搭建Llama3-Factory(智能对话)
一、Llama3-Factory 简介 当地时间 4 月 18 日,Meta 在官网上宣布公布了旗下最新大模型 Llama 3。目前,Llama 3 已经开放了 80 亿(8B)和 700 亿(70B)两个小参数版本,上下文窗口为 8k。Llama3 是…...
《其他 W3C 活动》
《其他 W3C 活动》 引言 W3C(World Wide Web Consortium,万维网联盟)是全球领先的互联网技术标准制定机构。自1994年成立以来,W3C致力于推动互联网技术的标准化,为全球的互联网发展做出了重要贡献。除了核心的HTML、CS…...
VeighNa量化框架实战:如何免费获取TuShare金融数据(附完整接入代码)
VeighNa量化框架实战:零成本高效获取TuShare金融数据的完整指南 在量化交易领域,数据获取往往是第一个需要跨越的门槛。对于个人开发者和小型团队而言,如何在预算有限的情况下获取高质量的金融数据,成为决定项目成败的关键因素之一…...
ai辅助开发:让快马生成智能助手,链接notepad下载与个性化代码推荐
今天想和大家分享一个有趣的实践:如何用AI辅助开发的方式,让Notepad这个老牌文本编辑器焕发新生。我们平时下载Notepad可能只是简单获取软件,但如果结合AI能力,就能把"下载-使用"的流程升级成"智能助手"体验。…...
ReaR实战:构建企业级Linux裸机灾难恢复体系
1. 为什么企业需要裸机灾难恢复方案 想象一下这样的场景:凌晨三点,机房突然响起刺耳的警报声。值班工程师冲进机房,发现核心数据库服务器已经宕机,硬盘指示灯全灭——这是一次严重的硬件故障。更糟糕的是,这台服务器上…...
Untrunc:10倍速视频修复工具,让损坏的MP4/MOV文件起死回生
Untrunc:10倍速视频修复工具,让损坏的MP4/MOV文件起死回生 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经因为视频文件损坏而失去…...
Mermaid:文本驱动的可视化引擎深度指南
Mermaid:文本驱动的可视化引擎深度指南 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程图的开发者。 …...
aircrack-ng使用教程
aircrack-ng是一款用于无线网络安全评估的工具套件,主要用于破解WEP和WPA/WPA2-PSK加密的无线网络密码。它通过分析捕获的数据包,利用密码破解技术来获取网络密钥,是网络安全测试和渗透测试中常用的工具之一。该工具支持多种攻击模式和优化选…...
Outfit字体全攻略:5大核心优势与零基础实战指南
Outfit字体全攻略:5大核心优势与零基础实战指南 【免费下载链接】Outfit-Fonts The most on-brand typeface 项目地址: https://gitcode.com/gh_mirrors/ou/Outfit-Fonts Outfit字体作为一款专业的开源无衬线字体,凭借其完整的9种字重体系和现代设…...
Llama-3.2V-11B-cot应用落地:农业病虫害图谱跨季节推理验证系统
Llama-3.2V-11B-cot应用落地:农业病虫害图谱跨季节推理验证系统 1. 项目背景与价值 农业病虫害防治一直是农业生产中的重大挑战。传统方法依赖人工观察和经验判断,存在效率低、准确性不足等问题。Llama-3.2V-11B-cot多模态大模型为解决这一难题提供了创…...
MBPFan:解决MacBook Linux系统散热难题的智能温控工具
MBPFan:解决MacBook Linux系统散热难题的智能温控工具 【免费下载链接】mbpfan 项目地址: https://gitcode.com/gh_mirrors/mb/mbpfan 当你在Linux系统下使用MacBook处理文档、编写代码或观看视频时,是否遇到过设备突然发烫、风扇噪音忽大忽小的…...
