Python可视化在量化交易中的应用(14)_Seaborn散点图

Seaborn中带回归线的散点图的绘制方法

seaborn中绘制散点图使用的是sns.scatterplot()函数:
sns.scatterplot(x,y,hue,style,size,data,palette,hue_order,hue_norm,sizes,size_order,size_norm,markers,style_order,x_bins,y_bins,units,estimator,ci=95,n_boot=1000,alpha,x_jitter,y_jittere,legend=‘auto’,ax,**kwargs,)

关键常用参数说明:

x, y:可选参数,用于指定数据集中散点图的x轴和y轴数据。
hue:可选参数,用于指定分类变量,根据该变量的不同取值,散点图的颜色会有所区分。
style:可选参数,用于指定分类变量,根据该变量的不同取值,散点图的样式会有所区分。
size:可选参数,用于指定数值变量,根据该变量的不同取值,散点图的大小会有所区分。
data:必需的参数,用于指定数据集。可以是一个Pandas的DataFrame、Numpy的数组、Python的列表或其他类似的数据结构。
palette:可选参数,用于指定颜色的调色板。可以是一个字符串,表示调色板的名称;也可以是一个字典,表示每个分类变量取值对应的颜色。
sizes:可选参数,用于指定散点图的大小范围。可以是一个元组,表示大小的最小值和最大值;也可以是一个列表,表示不同大小的取值范围。
markers:可选参数,用于指定散点图的标记样式。可以是一个字符串,表示标记样式的名称;也可以是一个列表,表示不同分类变量取值对应的标记样式。
alpha:可选参数,用于指定散点图的透明度。可以是一个浮点数,表示透明度的值;也可以是一个字符串,表示透明度的名称。
ax:可选参数,用于指定绘图的坐标轴。如果没有指定,则会创建一个新的坐标轴。
**kwargs:用于传递其他绘图参数,例如图像的标题、标签、颜色等。

在绘制散点图时,我们经常结合回归线,探索各个样本点之间的线性关联关系。

seaborn中绘制回归线使用的是sns.regplot()函数:
sns.regplot(x,y,data,x_estimator,x_bins,x_ci=‘ci’,scatter,fit_reg,ci=95,n_boot=1000,units,seed,order=1,logistic,lowess,robust,logx,x_partial,y_partial,truncate,dropna,x_jitter,y_jitter,label,color,marker=‘o’,scatter_kws,line_kws,ax,)

关键常用参数说明:

x, y:必需的参数,用于指定数据集中散点图的x轴和y轴数据。
data:可选参数,用于指定数据集。可以是一个Pandas的DataFrame、Numpy的数组、Python的列表或其他类似的数据结构。
x_estimator:可选参数,用于指定x轴数据的估计方法。默认值为numpy.mean,表示使用均值作为估计方法;可以设置为其他函数,表示使用对应的估计方法。
x_bins:可选参数,用于指定x轴数据的分组数量。默认值为"auto",表示自动确定分组数量;可以设置为一个整数,表示分组数量。
x_ci:可选参数,用于指定x轴数据的置信区间的大小。默认值为None,表示不显示置信区间;可以设置为一个整数,表示置信区间的大小。
scatter:可选参数,用于指定是否绘制散点图。默认值为True,表示绘制散点图;可以设置为False,表示不绘制散点图。
fit_reg:可选参数,用于指定是否绘制回归线。默认值为True,表示绘制回归线;可以设置为False,表示不绘制回归线。
ci:可选参数,用于指定置信区间的大小。默认值为95,表示使用95%的置信区间;可以设置为其他整数值,表示使用对应大小的置信区间。
order:可选参数,用于指定回归模型的阶数。默认值为1,表示使用一次线性回归模型;可以设置为其他整数值,表示使用对应阶数的回归模型。
scatter_kws:可选参数,用于传递给散点图的其他参数,例如散点的颜色、大小等。
line_kws:可选参数,用于传递给回归线的其他参数,例如线的颜色、线宽等。
ax:可选参数,用于指定绘图的坐标轴。如果没有指定,则会创建一个新的坐标轴。
**kwargs:用于传递其他绘图参数,例如图像的标题、标签、颜色等。

案例展示

在这个案例中,我们使用sns.scatterplot()方法绘制直方图,用sns.regplot()方法绘制核密度曲线,用以展示中国平安股票价格与交易额之间的分布关系。

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)# 筛选出股票代码是"000001.SZ"的股票
df = df[df['ts_code'] == '000001.SZ']# 使用scatterplot绘制散点图
sns.scatterplot(data=df, x='close', y='amount')
# 添加线性回归线
sns.regplot(data=df, x='close', y='amount')
# 显示图形
plt.show()

代码运行效果如下图所示:
在这里插入图片描述
我们在观察特征值与特征值之间的联系时,除了最简单的两个特征值之间的分布关系,还有多个特征值之间的关系。为了方便用户统计多个特征值之间的关系,我们可以选择使用sns.pairplot()函数绘制多张图形,进而观察多个变量之间两两关联的分布特性。
sns.pairplot(data,hue,hue_order,palette,vars,x_vars,y_vars,kind=‘scatter’,diag_kind=‘auto’,markers,height=2.5,aspect=1,corner,dropna,plot_kws,diag_kws,grid_kws,size,)
关键常用参数说明:
data:必需的参数,用于指定数据集。可以是一个Pandas的DataFrame、Numpy的数组、Python的列表或其他类似的数据结构。
hue:可选参数,用于指定分类变量的名称。默认值为None,表示不使用分类变量;可以设置为一个分类变量的名称,表示根据该变量进行分类绘制。
hue_order:可选参数,用于指定分类变量的顺序。默认值为None,表示使用分类变量的唯一值的自然顺序;可以设置为一个列表,表示指定的顺序。
palette:可选参数,用于指定颜色调色板的名称。默认值为None,表示使用默认的颜色调色板;可以设置为一个颜色调色板的名称,例如"Set1"、“Dark2"等。
vars:可选参数,用于指定要绘制的变量。默认值为None,表示绘制所有变量;可以设置为一个变量名列表,表示只绘制指定的变量。
diag_kind:可选参数,用于指定对角线上绘制的图形类型。默认值为"auto”,表示根据变量类型自动选择图形类型;可以设置为"hist",表示绘制直方图;可以设置为"kde",表示绘制核密度估计图;可以设置为None,表示不绘制图形。
markers:可选参数,用于指定散点图的标记样式。默认值为None,表示使用默认的标记样式;可以设置为一个标记样式的名称,例如"."、"o"等。
plot_kws:可选参数,用于传递给散点图的其他参数,例如颜色、标签等。
diag_kws:可选参数,用于传递给对角线图形的其他参数,例如颜色、标签等。
grid_kws:可选参数,用于传递给网格线的其他参数,例如颜色、线宽等。

股票价格、交易量与交易额分布关系可视化展示

在这个案例中,我们使用sns.pairplot()方法同时绘制多个图形,用以展示中国平安股票开盘价、收盘价与交易量、交易额之间的分布关系。
添加以下代码:

# 使用pairplot绘制多维散点图
sns.pairplot(data=df[['open','close','vol','amount']])# 显示图形
plt.show()

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

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

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

相关文章

Spring源码编译-for mac

超详细的spring源码编译 记:编译成功时间:2023.08.19 环境准备: 1.idea 2023.1.1 Community Edition 2.jdk1.8 3.gradlegradle-5.6.4 4.spring源码(版本:spring-framework-v5.2.25.RELEASE) 一.spring源码下载 github 加速网站&…

PyQt5登录界面跳转

目录 1、设计ui界面 2、设计逻辑代码,实现登录界面跳转 3、结果 1、设计ui界面 设计后的ui界面 在这里可以设置密码不显示 这里可以设置快捷键 最后将ui界面转为py文件后获得的逻辑代码为:(文件名为Login.py) # -*- coding: u…

Linux学习之Telnet明文漏洞

yum install telnet telnet-server xinetd -y安装软件。 systemctl start xinetd.service开启xinetd,systemctl start telnet.socket开启telnet。 xinetd来监控端口,然后把数据传给telnet。 ifconfig eth0看一下eth0网卡信息,。 iptable…

SpringBoot统⼀功能处理

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 本章是讲Spring Boot 统⼀功能处理模块,也是 AOP 的实战环节&…

226、仿真-基于51单片机楼道教室走道智能灯光光照人体感应检测控制Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&…

基于docker搭建pytest自动化测试环境(docker+pytest+jenkins+allure)

pytest搭建自动化测试环境(dockerpytestjenkinsallure) 这里我以ubuntu18为例 如果有docker环境,可以直接拉取我打包好的镜像docker pull ziyigun/jenkins:v1.0 1 搭建Docker 1.1 安装docker # 配置docker安装环境 sudo apt-get install ap…

Linux 系统编程拾遗

Linux 系统编程拾遗 进程的创建 进程的创建 fork()、exit()、wait()以及execve()的简介 创建新进程:fork()

WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机

WebRTC音视频通话-WebRTC视频自定义RTCVideoCapturer相机 在之前已经实现了WebRTC调用ossrs服务,实现直播视频通话功能。但是在使用过程中,RTCCameraVideoCapturer类提供的方法不能修改及调节相机的灯光等设置,那就需要自定义RTCVideoCaptur…

使用chatgpt将中文翻译成学术英语

使用chatgpt将中文翻译成学术英语 方式一 使用chatgpt翻译 你是一个英文学术论文写作专家,以下是一篇学术论文中的一段内容,请先对其进行翻译为英文,并将此部分润色以满足学术标准,提高语法、清晰度和整体可读性,给…

基于traccar快捷搭建gps轨迹应用

0. 环境 - win10 虚拟机ubuntu18 - i5 ubuntu22笔记本 - USB-GPS模块一台,比如华大北斗TAU1312-232板 - 双笔记本组网设备:路由器,使得win10笔记本ip:192.168.123.x,而i5笔记本IP是192.168.123.215。 - 安卓 手机 1.…

画质提升+带宽优化,小红书音视频团队端云结合超分落地实践

随着视频业务和短视频播放规模不断增长,小红书一直致力于研究:如何在保证提升用户体验质量的同时降低视频带宽成本? 在近日结束的音视频技术大会「LiveVideoStackCon 2023」上海站中,小红书音视频架构视频图像处理算法负责人剑寒向…

LVS-DR集群(一台LVS,一台CIP,两台web,一台NFS)的构建以及LVS-DR模式工作原理和特点

一.LVS-DR工作模式原理和特点 1.工作模式 2.模式特点 二.构建环境 1.五台关闭防火墙,关闭selinux,拥有固定IP,部署有http服务的虚拟机,LVS设备下载ipvsadm工具,NFS 设备需要下载rpcbind和nfs-utils 2.实现功能 3…