当前位置: 首页 > news >正文

pandas plot函数:数据可视化的快捷通道

一般来说,我们先用pandas分析数据,然后用matplotlib之类的可视化库来显示分析结果。
pandas库中有一个强大的工具--plot函数,可以使数据可视化变得简单而高效。

1. plot 函数简介

plot函数是pandas中用于数据可视化的一个重要工具,
通过plot函数,可以轻松地将DataFrameSeries对象中的数据以图形的形式展示出来。

plot函数支持多种类型的图形,包括折线图、柱状图、散点图、饼图等,这些不同类型的图形适用于不同的数据分析场景。
此外,plot函数还支持通过参数设置来调整图形的样式,如颜色、标签、图例等,以满足更加个性化的可视化需求。

plot函数的参数名称和含义了matplotlib绘图时的参数是类似的,
如果熟悉matplotlib绘图的话,上手更快。

2. 数据准备

下面的示例中使用的数据采集自A股2024年1月和2月的真实交易数据。
数据下载地址:https://databook.top/。

导入数据:

import pandas as pd
import matplotlib.pyplot as pltfp = r'D:\data\2024\历史行情数据-不复权-2024.csv'df = pd.read_csv(fp)
df = df.loc[:, ["股票代码", "日期", "开盘", "收盘", "最高", "最低", "成交量"]]
df

3. 使用示例

针对上面的交易数据,下面演示如何用plot函数快速绘图。

3.1. 折线图

折线图一般用于展示时间序列数据,可以提取某一支股票的数据并绘制出来。

# 提取870299这支股票
data = df.query("股票代码==870299")
data.index = data["日期"]# 绘制每天最高价和最低价的曲线
data.loc[:, ["最高", "最低"]].plot(kind="line", title="股票870299", rot=45)
plt.show()

image.png


代码中有几个注意点:

  1. data.index = data["日期"]plot函数将索引列作为横轴,所以这里设置日期列为索引(index
  2. kind参数:设置图形的类型,这里设置line,表示折线图
  3. title参数:设置图形的标题
  4. rot参数:调整刻度的角度,这里将X轴的刻度旋转了45度,防止日期之间的重叠

3.2. 柱状图

柱状图多用于比对数据,下面我们用pandas挑选几支股票,然后比对它们的开盘价收盘价的平均值。

# 随便挑选一些股票代码
codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "开盘", "收盘"]].query("股票代码==@codes")# groupby之后,绘制各个股票开盘价和收盘价的平均值
data.groupby(by=["股票代码"]).mean().plot(kind="bar")
plt.show()

image.png


代码中的注意点:

  1. kind参数:设置图形的类型,这里设置bar,表示柱状图
  2. groupby之后,"股票代码"变为索引列,所以绘图时作为横轴

如果要绘制横向的柱状图,只要把kind参数设置成barh即可。

data.groupby(by=["股票代码"]).mean().plot(kind="barh")

image.png

3.3. 饼图

饼图是另一种比较数据的方式,它可以比较数据之间的占比,更好的看出各种数据的分布情况。
下面也随机挑选一些股票,用饼图比较它们的成交量情况。

codes = [870299, 301138, 603825, 600579, 600640]
data = df.loc[:,["股票代码", "成交量"]].query("股票代码==@codes")data.groupby(by=["股票代码"]).sum()["成交量"].plot(kind="pie", autopct="%1.1f%%")
plt.show()

image.png


代码中的注意点:

  1. kind参数:设置图形的类型,这里设置饼图pie,表示饼图
  2. autopct参数:各个区域所占百分比的显示方式

3.4. 其他...

除了上面常用的图形,plot函数还支持其他多种图形,其kind参数目前支持的图形包括:

  • line : 折线图
  • bar : 柱状图
  • barh : 横向柱状图
  • hist : 直方图
  • box : 箱型图
  • kde : 核密度估计图
  • area : 面积图
  • pie : 饼图
  • scatter : 散点图
  • hexbin : 六边形箱图

4. 总结

总的来说,plot函数为数据分析师提供了一个强大而灵活的数据可视化工具。
通过plot函数,我们可以快速地将数据转化为直观的图形,从而更好地理解数据的分布、趋势和关系。
这种直观的理解有助于我们发现数据中的潜在模式,进而做出更加准确和有效的决策。

无论是初学者还是资深的数据分析师,都可以通过掌握plot函数来提升自己的数据分析能力。

相关文章:

  • 【java】写一个发送邮箱的样例
  • 点击旋转箭头样式
  • Java宝藏实验资源库(2)字节流
  • ios CCLanguage.m
  • VMware ESXi 8.0U2c macOS Unlocker OEM BIOS Huawei (华为) FusionServer 定制版
  • 3D开发工具HOOPS为BIM应用提供支持:复杂大模型实现Web端轻量化!
  • 【Android面试八股文】Kotlin内置标准函数also的原理是什么?
  • Java学习 - 网络静态路由与动态路由 讲解
  • Ubuntu 24.04安装zabbix7.0.0图形中文乱码
  • MinIO 网络与覆盖网络
  • 【0-1系列】从0-1快速了解搜索引擎Scope以及如何快速安装使用(下)
  • rclone 上传资料到 onedrive 遇到限速问题解决
  • JS中正则表达式的语法与使用案例
  • 字节豆包全新图像Tokenizer:生成图像最低只需32个token,最高提速410倍
  • elementUI的table使用展开功能( type=“expand“ ),展开时合起上一次展开的内容,始终保持展开内容为一个,并且再次点击合起自身
  • 《深入 React 技术栈》
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • C学习-枚举(九)
  • IDEA 插件开发入门教程
  • Javascript 原型链
  • jQuery(一)
  • Linux中的硬链接与软链接
  • MySQL几个简单SQL的优化
  • PAT A1092
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • - 概述 - 《设计模式(极简c++版)》
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 再谈express与koa的对比
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #AngularJS#$sce.trustAsResourceUrl
  • #include到底该写在哪
  • (二)学习JVM —— 垃圾回收机制
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (循环依赖问题)学习spring的第九天
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .net6+aspose.words导出word并转pdf
  • .net分布式压力测试工具(Beetle.DT)
  • .Net下的签名与混淆
  • @Autowired和@Resource的区别
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @Query中countQuery的介绍
  • @Transactional 详解
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • []FET-430SIM508 研究日志 11.3.31
  • []常用AT命令解释()
  • [12] 使用 CUDA 进行图像处理