Python可视化在量化交易中的应用(16)_Seaborn热力图

Seaborn中热力图的绘制方法

seaborn中绘制热力图使用的是sns.heatmap()函数:
sns.heatmap(data,vmin,vmax,cmap,center,robust,annot,fmt=‘.2g’,annot_kws,linewidths=0,linecolor=‘white’,cbar,cbar_kws,cbar_ax,square,xticklabels=‘auto’,yticklabels=‘auto’,mask,ax,**kwargs,)

关键常用参数说明:

data:要绘制热力图的数据集,可以是DataFrame、数组或列表等。
vmin,vmax:设置热力图颜色映射的取值范围,vmin最小值,vmax最大值。
cmap:可选参数,用于指定颜色映射。默认值为"viridis",表示使用viridis颜色映射;可以设置为一个颜色映射名称或颜色映射对象。
center:可选参数,用于指定颜色映射的中心值。默认值为None,表示使用数据的中心值;可以设置为一个数值,表示中心值。
robust:可选参数,用于指定是否使用鲁棒性的颜色映射。默认值为False,表示不使用鲁棒性;可以设置为True,表示使用鲁棒性。
annot:可选参数,用于在每个单元格中显示数值。默认值为False,表示不显示数值;可以设置为True,表示显示数值;可以设置为一个布尔数组或与data形状相同的数组,用于指定要显示的数值。
fmt:可选参数,用于指定数值的格式。默认值为".2g",表示使用科学计数法;可以设置为其他格式字符串,例如"%d"表示整数,“%.2f"表示保留两位小数。
annot_kws:可选参数,用于传递给annot参数的其他参数,例如字体大小、颜色等。
linewidths:可选参数,用于指定每个单元格之间的边框线宽度。默认值为0,表示不显示边框线;可以设置为一个浮点数,表示边框线的宽度。
linecolor:可选参数,用于指定每个单元格之间的边框线颜色。默认值为"white”,表示白色;可以设置为一个颜色名称或颜色代码。
cbar:可选参数,用于指定是否显示颜色条。默认值为True,表示显示颜色条;可以设置为False,表示不显示颜色条。
cbar_kws:可选参数,用于传递给颜色条的其他参数,例如颜色条的标签、方向等。
square:可选参数,用于指定是否将每个单元格绘制为正方形。默认值为False,表示不绘制正方形;可以设置为True,表示绘制正方形。
xticklabels、yticklabels:可选参数,用于指定x轴和y轴的标签。默认值为"auto",表示自动绘制标签;可以设置为一个标签列表或布尔数组,用于指定要显示的标签。
ax:可选参数,用于指定绘制热力图的坐标轴对象。默认值为None,表示使用当前坐标轴。
**kwargs:用于传递其他绘图参数,例如图像的标题、标签、颜色等。

案例说明

【例5.18】使用seaborn绘制银行板块股票和IT设备制造板块股票交易额热力图
代码如下:

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-01-03'
end_date = '2023-03-31'
df = df.loc[start_date:end_date]# 创建股票池列表-深圳交易所银行类版块股票池,共9支
stock_list1 = ['000001.SZ','001227.SZ','002142.SZ','002807.SZ','002839.SZ','002936.SZ','002948.SZ','002958.SZ','002966.SZ']
# 创建股票池列表-深圳交易所IT设备制造类版块股票池,共9支
stock_list2 = ['000066.SZ','000977.SZ','002180.SZ','002197.SZ','002236.SZ','002351.SZ','002415.SZ','002528.SZ','002866.SZ']# 从DataFrame中将股票池中的交易数据筛选出来
stock_1 = df[df['ts_code'].isin(stock_list1)]
stock_2 = df[df['ts_code'].isin(stock_list2)]# 相比交易量,交易额更能反映出某个版块当前的交易热度
# 按周统计银行类版块的每只股票每周的交易额
stock1_amout_weekly = []
for i in range(len(stock_list1)):df_temp = stock_1[stock_1['ts_code']==stock_list1[i]]temp_a = df_temp.resample('W').sum()temp_b = temp_a['amount'].to_list()stock1_amout_weekly.append(temp_b)
# 同理,按周统计IT设备制造类版块的每只股票每周的交易额
stock2_amout_weekly = []
for i in range(len(stock_list2)):df_temp = stock_2[stock_2['ts_code']==stock_list2[i]]temp_a = df_temp.resample('W').sum()temp_b = temp_a['amount'].to_list()stock2_amout_weekly.append(temp_b)# 创建一个1x2的子图布局
fig, ax = plt.subplots(1, 2, figsize=(15, 6))# 绘制银行类版块股票的热力图
im1 = sns.heatmap(stock1_amout_weekly, ax = ax[0])
# 设置图表标题和标签
ax[0].set_title('Stock of Banks Trading Amount Heatmap')
# 横坐标设置为周数,纵坐标为各银行
ax[0].set_xlabel("Weeks")
ax[0].set_ylabel("Banks")# 同理,绘制IT设备制造类版块股票的热力图,并设置标题、横纵坐标。im2 = sns.heatmap(stock2_amout_weekly, ax = ax[1])
ax[1].set_title('Stock  of IT-Vehicles Trading Amount Heatmap')
ax[1].set_xlabel("Weeks")
ax[1].set_ylabel("Banks")# 显示图表
plt.show()

代码运行效果如下图所示:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 进程间通信——消息队列

一、消息队列的原理 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立接收含有不同类型值得数据库。 消息实际上是一个数据块,这个数据块是一个结构体,结构体由自己命名。消…

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

文章目录 1 前言2 配置方法 >>返回总目录<< 1 前言 为减轻主核的负载率或者平衡各个核的资源分配&#xff0c;通常需要把一些MCU内部资源分配到从核上&#xff0c;在EB tresos工具中&#xff0c;通过ResourceM模块实现多核资源分配。 2 配置方法 ResourceMMaste…

mysql数据传输到mssql

一、找开Navicat Premium 12 此时目标数据库会创建一个同名的表

CSS3 -- mix-blend-mode属性详解

一&#xff1a;简介 在上篇文章中&#xff0c;我们利用css的mix-blend-mode属性做了一个简单的文字颜色自适应背景颜色的效果&#xff0c;这篇文章我来解释一下这个属性的用法以及一些简单的案例。 二&#xff1a;介绍 mix-blend-mode 是一种 CSS 属性&#xff0c;它定义了一…

在 Spring Boot 中使用 OpenAI ChatGPT API

1、开始咯 我们来看看如何在 Spring Boot 中调用 OpenAI ChatGPT API。 我们将创建一个 Spring Boot 应用程序&#xff0c;该应用程序将通过调用 OpenAI ChatGPT API 生成对提示的响应。 2、OpenAI ChatGPT API 在开始具体讲解之前&#xff0c;让我们先探讨一下我们将在本教…

学习笔记:Opencv实现拉普拉斯图像锐化算法

2023.8.19 为了在暑假内实现深度学习的进阶学习&#xff0c;Copy大神的代码&#xff0c;记录学习日常 图像锐化的百科&#xff1a; 图像锐化算法-sharpen_lemonHe_的博客-CSDN博客 在环境配置中要配置opencv&#xff1a; pip install opencv-contrib-python Code and lena.png…

一种基于springboot、redis的分布式任务引擎的实现(一)

总体思路是&#xff0c;主节点接收到任务请求&#xff0c;将根据任务情况拆分成多个任务块&#xff0c;将任务块标识的主键放入redis。发送redis消息&#xff0c;等待其他节点运行完毕&#xff0c;结束处理。接收到信息的节点注册本节点信息到redis、开启多线程、获取任务块、执…

OpenCV基础知识(5)— 几何变换

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。OpenCV中的几何变换是指改变图像的几何结构&#xff0c;例如大小、角度和形状等&#xff0c;让图像呈现出缩放、翻转、旋转和透视效果。这些几何变换操作都涉及复杂、精密的计算。OpenCV将这些计算过程都封装成了非常灵活的…

开源了一套基于springboot+vue+uniapp的商城,包含分类、sku、商户管理、分销、会员、适合企业或个人二次开发

RuoYi-Mall-JAVA商城-电商系统简介 开源了一套基于若依框架&#xff0c;SringBoot2MybatisPlusSpringSecurityjwtredisVueUniapp的前后端分离的商城系统&#xff0c; 包含分类、sku、商户管理、分销、会员、适合企业或个人二次开发。 前端采用Vue、Element UI&#xff08;ant…

Mac terminal 每次打开都要重新配置文件

1. 问题描述 每次打开 Terminal&#xff0c;base_profile文件中配置的内容就不生效&#xff0c;需要重新执行source ~/.bash_profile才可以使用。 2. 原因分析 zsh加载的是~/.zshrc文件&#xff0c;而.zshrc 文件中并没有定义任务环境变量。 3. 解决办法 在~/.zshrc文件末尾添…

CF1017B The Bits 题解

想死人的思维题哈哈。 题目传送门 题目意思&#xff1a; 给你两个二进制串&#xff0c;你可以将第一个二进制串的任意两个位置的数字调换&#xff0c;问有多少种方案可以让这两个二进制串按位或的结果改变&#xff1f; 思路&#xff1a; 要从按位或的性质上开始思考。 按位…

Debian10: 安装nut服务器(UPS)

UPS说明&#xff1a; UPS的作用就不必讲了&#xff0c;我选择是SANTAKTGBOX-850&#xff0c;规格为 850VA/510W&#xff0c;可以满足所需&#xff0c;关键是Debian10自带了驱动可以支持&#xff0c;免去安装驱动&#xff0c;将UPS通过USB线连接服务器即可&#xff0c;如下图所示…

Vue初识别--环境搭建--前置配置过程

问题一&#xff1a; 在浏览器上的扩展程序上添加了vue-devtools后不生效&#xff1a; 解决方式&#xff1a;打开刚加入的扩展工具Vue.js devtools的允许访问文件地址设置 问题二&#xff1a;Vue新建一个项目 创建一个空文件夹hrsone&#xff0c;然后在VSCode中打开这个空文件夹…

RequestRespons

文章目录 Request&Respons1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…

基于Python的微博大数据舆情分析,舆论情感分析可视化系统,可作为Python毕业设计

运行效果图 基于Python的微博大数据舆情分析&#xff0c;舆论情感分析可视化系统 系统介绍 微博舆情分析系统&#xff0c;项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。 先后进行了数据获取和筛选存储&#xff0c;对存储后的数据库数据进行提取分析处…

iptables安全与防火墙

防火墙 防火墙主要作用是隔离功能&#xff0c;它是部署在网络边缘或主机边缘&#xff1b;另外在生产中防火墙的主要作用是&#xff1a;决定哪些数据可以被外网访问以及哪些数据可以进入内网访问&#xff1b;顾名思义防火墙处于TCP协议中的网络层。 防火墙分类&#xff1a; 软…

postgresql 分类排名

postgresql 分类排名 排名窗口函数示例CUME_DIST 和 NTILE 排名窗口函数 排名窗口函数用于对数据进行分组排名。常见的排名窗口函数包括&#xff1a; • ROW_NUMBER&#xff0c;为分区中的每行数据分配一个序列号&#xff0c;序列号从 1 开始分配。 • RANK&#xff0c;计算每…

数学建模之“灰色预测”模型

灰色系统分析法在建模中的应用 1、CUMCM2003A SARS的传播问题 2、CUMCM2005A长江水质的评价和预测CUMCM2006A出版社的资源配置 3、CUMCM2006B艾滋病疗法的评价及疗效的预测问题 4、CUMCM2007A 中国人口增长预测 灰色系统的应用范畴大致分为以下几方面: (1&#xff09;灰色关…

“深度学习”学习日记:Tensorflow实现VGG每一个卷积层的可视化

2023.8.19 深度学习的卷积对于初学者是非常抽象&#xff0c;当时在入门学习的时候直接劝退一大班人&#xff0c;还好我坚持了下来。可视化时用到的图片&#xff08;我们学校的一角&#xff01;&#xff01;&#xff01;&#xff09;以下展示了一个卷积和一次Relu的变化 作者使…

IronPDF for .NET Crack

IronPDF for .NET Crack ronPDF现在将等待HTML元素加载后再进行渲染。 IronPDF现在将等待字体加载后再进行渲染。 添加了在绘制文本时指定旋转的功能。 添加了在保存为PDFA时指定自定义颜色配置文件的功能。 IronPDF for.NET允许开发人员在C#、F#和VB.NET for.NET Core和.NET F…