Python可视化在量化交易中的应用(13)_Seaborn直方图
Seaborn中带核密度的直方图的绘制方法
seaborn中绘制直方图使用的是sns.histlot()函数:
sns.histplot(data,x,y,hue,weights,stat=‘count’,bins=‘auto’,binwidth,binrange,discrete,cumulative,common_bins,common_norm,multiple=‘layer’,element=‘bars’,fill,shrink=1,kde,kde_kws,line_kws,thresh=0,pthresh,pmax,cbar,cbar_ax,cbar_kws,palette,hue_order,hue_norm,color,log_scale,legend,ax,**kwargs,)
关键常用参数说明:
data:必需的参数,用于指定数据集。可以是一个Pandas的DataFrame、Numpy的数组、Python的列表或其他类似的数据结构。
x, y:可选参数,用于指定数据集中直方图的x轴和y轴数据。通常情况下,只需要指定x轴数据。
hue:可选参数,用于指定分类变量,根据该变量的不同取值,直方图的颜色会有所区分。
stat:可选参数,用于指定直方图的统计量。默认值为"count",表示计算每个箱体中的观测数量;可以设置为其他值,如"probability"、“density"等。
bins:可选参数,用于指定直方图的箱体数量。可以是一个整数,表示箱体的数量;也可以是一个序列,表示每个箱体的边界值。
binwidth:可选参数,用于指定直方图的箱体宽度。可以是一个整数或浮点数,表示箱体的宽度;也可以是一个字符串,表示使用自动计算的宽度。
binrange:可选参数,用于指定直方图的箱体范围。可以是一个元组,表示箱体的最小值和最大值;也可以是一个字符串,表示使用数据集的最小值和最大值。
cumulative:可选参数,用于指定是否绘制累积直方图。默认值为False,表示不绘制累积直方图;可以设置为True,表示绘制累积直方图。
kde:可选参数,用于指定是否绘制核密度估计曲线。默认值为False,表示不绘制核密度估计曲线;可以设置为True,表示绘制核密度估计曲线。
multiple:可选参数,用于指定是否绘制多个直方图。默认值为False,表示只绘制一个直方图;可以设置为True,表示绘制多个直方图。
element:可选参数,用于指定绘图元素的类型。默认值为"bars”,表示绘制柱状图;可以设置为其他值,如"step"、"poly"等。
shrink:可选参数,用于指定直方图的缩放因子。默认值为1,表示不缩放;可以设置为其他值,如0.5、0.8等。
ax:可选参数,用于指定绘图的坐标轴。如果没有指定,则会创建一个新的坐标轴。
**kwargs:用于传递其他绘图参数,例如图像的标题、标签、颜色等。
使用Seaborn绘制直方图的应用案例
股票开盘价、收盘价、最高价、最低价直方图可视化展示
在这个案例中,我们使用sns.histplot()方法绘制直方图,用以展示中国平安在2023年3月开盘价、收盘价、最高价、最低价的统计分布情况。
代码如下:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置为默认字体
plt.rcParams['font.family'] = 'SimHei'
# 显示负数
plt.rcParams['axes.unicode_minus'] = False# 导入数据
df = pd.read_excel("2023年一季度A股日线行情.xlsx")# 将日期列转化为日期格式
df["trade_date"] = df["trade_date"].astype("str").apply(lambda x:x[:4]+"-"+x[4:6]+"-"+x[6:])
# 将日期列转换为日期类型,并设置为索引列
df['trade_date'] = pd.to_datetime(df['trade_date'])
df.set_index('trade_date', inplace=True)# 筛选2023年3月的行情数据
start_date = '2023-03-01'
end_date = '2023-03-31'
df = df.loc[start_date:end_date]# 筛选出股票代码是"000001.SZ"平安的股票
df = df[df['ts_code'] == '000001.SZ']# 绘制开盘价、收盘价、最高价、最低价的分价直方图
# 设置各个子图的标题
titles = ['开盘价', '收盘价', '最高价', '最低价']
# 设置各个子图的数据集
datas = ['open','close','high','low']# 创建一个2x2的子图布局
fig, ax = plt.subplots(2, 2, figsize=(10, 10))
# 依次创建各个子图
for i in range(4):sns.histplot(data=df, x=datas[i], kde=True, label = titles[i], ax=ax[i//2, i%2])ax[i//2][i%2].set_title(titles[i])ax[i//2][i%2].set_xlabel("Price")ax[i//2][i%2].set_ylabel("Frequency")
# 调整子图之间的间距
plt.tight_layout()
# 显示图片
plt.show()
代码最终运行效果如下图所示:
相关文章:

Python可视化在量化交易中的应用(13)_Seaborn直方图
Seaborn中带核密度的直方图的绘制方法 seaborn中绘制直方图使用的是sns.histlot()函数: sns.histplot(data,x,y,hue,weights,stat‘count’,bins‘auto’,binwidth,binrange,discrete,cumulative,common_bins,common_norm,multiple‘layer’,element‘bars’,fill,…...
NOIP 2006 普及组 第二题 开心的金明
开心的金明 说明 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。 更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超…...

「UG/NX」Block UI 指定点SpecifyPoint
✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#...

Linux Shell如果ping失败就重启网卡(详解)
直接上脚本 -------------------------------------------------------------------------- #vi /tmp/ping_check.sh #!/bin/bash IP="1.1.1.1" PacketLoss=`ping -c 4 -w 4 1.1.1.1 | grep packet loss | awk -F packet loss {print $1} | awk {print $NF}|se…...

每天一道leetcode:剑指 Offer 13. 机器人的运动范围(中等广度优先遍历剪枝)
今日份题目: 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之…...
TypeError: a bytes-like object is required, not ‘str‘
raceback (most recent call last): File "D:\pycharmcode\client.py", line 12, in <module> tcp_socket.send(send_data) TypeError: a bytes-like object is required, not str 使用socket进行ubuntu与windows通信时,发送数据时报了以上错…...
题解 | #1005.List Reshape# 2023杭电暑期多校9
1005.List Reshape 签到题 题目大意 按一定格式给定一个纯数字一维数组,按给定格式输出成二维数组。 解题思路 读入初始数组字符串,将每个数字分离,按要求输出即可 参考代码 参考代码为已AC代码主干,其中部分功能需读者自行…...

会声会影2023旗舰版电脑端视频剪辑软件
随着短视频、vlog等媒体形式的兴起,视频剪辑已经成为了热门技能。甚至有人说,不会修图可以,但不能不会剪视频。实际上,随着各种智能软件的发展,视频剪辑已经变得越来越简单。功能最全的2023新版,全新视差转…...

【linux基础(四)】对Linux权限的理解
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:Linux从入门到开通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多操作系统知识 🔝🔝 Linux权限 1. 前言2. shell命…...
maven项目指定数据源
springboot项目 直接在pom.xml文件中添加以下配置 <!--使用阿里云maven中央仓库--> <repositories><repository><id>aliyun-repos</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url><snapshots><ena…...
web3:使用Docker-compose方式部署blockscout
最近做的项目,需要blockscout来部署一个区块链浏览器,至于blockscout是什么,咱们稍后出一篇文章专门介绍下,本次就先介绍一下如何使用Docker-compose方式部署blockscout,以及过程中遇到的种种坑 目录 先决条件我的环境准备工作Docker-compose1.安装方式一:下载 Docker Co…...
C++11实用技术(五)泛型编程加载dll接口函数
C11泛型编程简化加载dll代码 常见的加载dll方式: HMODULE m_hDataModule; m_hDataModule LoadLibrary("myDll.dll");typedef int (*PfunA)(int a, int b);//定义函数指针 PfunA fun (PfunA)(GetProcAddress(m_hDataModule , "funA"));//加载…...

使用wxPython和PyMuPDF提取PDF页面指定页数的内容的应用程序
在本篇博客中,我们将探讨如何使用wxPython和PyMuPDF库创建一个简单的Bokeh应用程序,用于选择PDF文件并提取指定页面的内容,并将提取的内容显示在文本框中。 C:\pythoncode\new\pdfgetcontent.py 准备工作 首先,确保你已经安装了…...

k8s的pv和pvc创建
//NFS使用PV和PVC 1、配置nfs存储 2、定义PV 实现 下图的pv和pvc测试 pv的定义 这里定义5个PV,并且定义挂载的路径以及访问模式,还有PV划分的大小 vim /pv.yamlapiVersion: v1 kind: PersistentVolume metadata:name: pv001 spec:capacity:storage: …...
记K8S集群工作节点,AnolisOS 8.6部署显卡驱动集成Containerd运行时
1、安装gcc #安装编译环境 yum -y install make gcc gcc-c2、下载显卡驱动 点击 直达连接 nvidia高级搜索下载历史版本驱动程序(下载历史版本驱动) https://www.nvidia.cn/Download/Find.aspx?langcn3、安装驱动 安装显卡驱动 ./NVIDIA-Linux-x86…...
JavaScript 性能优化
优化JavaScript代码的性能是开发过程中的一个关键任务,它可以显著提升网站或应用的用户体验。以下是一些优化技巧,涵盖了减少重绘、减少内存占用和合并网络请求等方面: 1. **减少重绘和重排:** - **使用 CSS3 动画:…...

架构演进及常用架构
1架构演进及常用架构 1.1单体分层架构 1.2 多应用微服务架构 1.3 分布式集群部署 部署 CDN 节点: 用户访问量的增加意味着用户地域的分散请求,如果所有请求都直接发送中心服务器的话,距离越远,响应速度越差,这时就需…...

WinCC V7.5 中的C脚本对话框不可见,将编辑窗口移动到可见区域的具体方法
WinCC V7.5 中的C脚本对话框不可见,将编辑窗口移动到可见区域的具体方法 由于 Windows 系统更新或使用不同的显示器,在配置C动作时,有可能会出现C脚本编辑窗口被移动到不可见区域的现象。 由于该窗口无法被关闭,故无法进行进一步…...

【实战】十一、看板页面及任务组页面开发(二) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(二十四)
文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理七、Hook&…...
Vue2.7.14、vuecli@5.0.8 升级 vite@4.4.8
项目背景 Vue2.7.14、vuecli5.0.8、element-ui2.15.13、node14.18.3 vite安装 pnpm add vite4.4.8 -D 入口文件index.html 文件位置修改 将pulic里的index.html移到根目录下 根目录/public/index.html 到 根目录/index.html 文件内容修改 <link rel"icon"…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...

对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...