Python可视化在量化交易中的应用(12)_Seaborn柱状图

news2024/10/6 2:32:18

Seaborn中柱状图的绘制方法

seaborn中绘制折线图使用的是sns.barplot()函数:
sns.barplot(x,y,hue,data,order,hue_order,estimator,ci=95,n_boot=1000,units,seed,orient,color,palette,saturation=0.75,errcolor=‘.26’,errwidth,capsize,dodge=True,ax,**kwargs,)

关键常用参数说明:

x, y:必需的参数,用于指定数据集中柱状图的x轴和y轴数据。
hue:可选参数,用于指定分类变量,根据该变量的不同取值,柱状图的颜色会有所区分。
data:可选参数,用于指定数据集。可以是一个Pandas的DataFrame、Numpy的数组、Python的列表或其他类似的数据结构。
order:可选参数,用于指定x轴上柱状图的顺序。可以是一个列表,表示柱状图的顺序;也可以是一个DataFrame的列名,表示根据该列的值进行排序。
estimator:可选参数,用于指定柱状图的估计函数。默认值为np.mean,表示计算均值;可以设置为其他函数,如np.median等。
ci:可选参数,用于指定误差线的置信区间。默认值为"boot",表示使用bootstrap方法计算置信区间;可以设置为其他值,如"sd"、“sem"等。
orient:可选参数,用于指定柱状图的方向。默认值为"v”,表示垂直方向;可以设置为"h",表示水平方向。
palette:可选参数,用于指定柱状图的颜色调色板。可以是一个颜色名称字符串,表示使用预定义的调色板;也可以是一个颜色列表,表示自定义的调色板。
capsize:可选参数,用于指定误差线的帽子大小。默认值为None,表示不显示误差线的帽子。
ax:可选参数,用于指定绘图的坐标轴。如果没有指定,则会创建一个新的坐标轴。
**kwargs:用于传递其他绘图参数,例如图像的标题、标签、颜色等。

使用Seaborn绘制柱状图的应用案例

代码如下:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
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"和"000002.SZ"的两只股票
df = df[df["ts_code"].isin(("000001.SZ","000002.SZ"))]

# 筛选2023年3月的行情数据
start_date = '2023-03-01'
end_date = '2023-03-31'
df = df.loc[start_date:end_date]

# 给股票代码加上股票名称
def get_name(ts_code):
    if ts_code == "000001.SZ":
        return "Bank of PingAn"
    if ts_code == "000002.SZ":
        return "WanKe A"
df["name"] = [get_name(i) for i in df["ts_code"]]

# 只保留name和交易量,交易额三列
df = df[['name', 'vol', 'amount']]

# 分别按周统计交易量和交易额
stock = df.groupby('name').resample('W').sum()

# 将stock这个dataframe重新格式化,将其原来的索引还原为列
# 避免绘图时,日期出现 00:00:00的字样
stock = pd.DataFrame(stock)
stock = stock.reset_index()
stock['trade_date'] = stock['trade_date'].dt.date

# 设置图形样式
sns.set(style="whitegrid")
# 创建画布和子图
fig, ax = plt.subplots(1, 2, figsize=(16, 9))
# 绘制柱状图
sns.barplot(x='trade_date', y='vol', hue='name', data=stock, ax=ax[0])
sns.barplot(x='trade_date', y='amount', hue='name', data=stock, ax=ax[1])
# 设置标题和标签
ax[0].set_title('Stock Trade Volumn')
ax[0].set_xlabel('Week')
ax[0].set_ylabel('Volumn/Amount')
ax[1].set_title('Stock Trade Amount')
ax[1].set_xlabel('Week')
ax[1].set_ylabel('Amount')
# 显示图形
plt.show()

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

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

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

相关文章

linux RabbitMQ-3.8.5 安装

软件版本操作系统CentOS Linux release 7.9.2009erlangerlang-23.0.2-1.el7.x86_64rabbitMQrabbitmq-server-3.8.5-1.el7 RabbitMQ的安装首先需要安装Erlang,因为它是基于Erlang的VM运行的。 RabbitMQ安装需要依赖:socat和logrotate,logrotate操作系统已经存在了&…

内网穿透技术之神卓互联如何检测本地环境

在使用神卓互联Windows版客户端的过程中添加和编辑映射通道默认会自动生效,如您遇到无法访问的情况,可通过客户端上的检测工具进行环境检测。 Windows客户端检测本地环境,登录神卓互联客户端,在主界面下方的按钮组里选择【环境检…

《Python入门到精通》os模块详解,Python os标准库

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 os模块详解 1、文件目录操作os.stat() 获取文件状态os.utime() 修改文件时间os.r…

PostgreSQL父子建表查询所有的子数据-利用自定义函数查询

pgsql 函数查询代码 select find_space_tree_list_by_nodeid(1,1) 查询结果示意图 获取子集函数代码 CREATE OR REPLACE FUNCTION "public"."find_space_tree_list_by_nodeid"("nodeid" varchar, "viewid" varchar)RETURNS "…

8.19论文阅读

文章目录 Graph-Segmenter: Graph Transformer with Boundary-aware Attention for Semantic Segmentation方法 SCSC: Spatial Cross-scale Convolution Module to Strengthen both CNNs and Transformers方法 Deformable Mixer Transformer with Gating for Multi-Task Learni…

KFC玩具HelloKitty风扇改造——ESP32蓝牙blinker、1404无刷电机、双18650

改装KFC玩具——ESP32蓝牙无刷风扇 ESP32代码&#xff1a; 使用NodeMCU-32S #define BLINKER_BLE#include <Blinker.h>#include <Arduino.h>// PWM通道 int channel_PWM 3; // PWM频率&#xff0c;那么周期也就是1/50&#xff0c;也就是20ms &#xff0c;PWM一…

2.创建小程序

创建 在开发工具中,选择小程序,点击加号 填写小程序信息,模板使用的是TS+Sass 编辑器的工作区 目录结构 项目使用的是ts的模板,目录结构和js的有一点差异,目录结构如下: miniprogram:小程序根目录 —pages:小程序页面目录 ——xxx:页面目录,一个页面对应一个目…

加了一个班,简单2步就设置好了公司的内网穿透服务

单位里没有固定的网管&#xff0c;胆子全落在我的身上。 起初是最近买了一套客户及财务软件&#xff0c;其实专业术语就是ERP&#xff0c;主管让我们把手头的资料全部录入进去&#xff0c;说是可以提高我们的工作效率&#xff0c;于是我们就开始各种录入&#xff0c;那个时候已…

今天,谷歌Chrome浏览器部署抗量子密码

谷歌已开始部署混合密钥封装机制&#xff08;KEM&#xff09;&#xff0c;以保护在建立安全的 TLS 网络连接时共享对称加密机密。 8月10日&#xff0c;Chrome 浏览器安全技术项目经理Devon O’Brien解释说&#xff0c;从 8 月 15 日发布的 Chrome 浏览器 116 开始&#xff0c;谷…

小航助学GESP_C++一级模拟测试卷第5套(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统&#xff08;含题库答题软件账号&#xff09;_程序猿下山的博客-CSD…

【力扣】42. 接雨水 <模拟、双指针、单调栈>

【力扣】42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,…

AlphaZero能否从围棋和国际象棋飞跃到量子计算?

一项新的研究表明&#xff0c;DeepMind惊人的游戏算法AlphaZero可以帮助释放量子计算的力量和潜力。 自两年多前出现以来&#xff0c;AlphaZero一再证明了其快速学习能力&#xff0c;将自己提升到围棋&#xff0c;国际象棋和将棋&#xff08;日本象棋&#xff09;的特级大师级别…

【数据结构OJ题】用队列实现栈

原题链接&#xff1a;https://leetcode.cn/problems/implement-stack-using-queues/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 可以用两个队列去实现一个栈&#xff0c;每次始终保持一个队列为空。 入栈相当于给非空队列进行入队操作。 出栈相…

二维码智慧门牌管理系统:打造社区管理新格局

文章目录 前言一、精准数据支持的实现二、便捷办事流程的提升三、多元化服务渠道的拓展四、高效管理和优质服务的提供 前言 在科技的推动下&#xff0c;社区管理正在迎来一场革命性的变革。其中&#xff0c;二维码智慧门牌管理系统崭露头角&#xff0c;成为了社区管理的得力助…

221、仿真-基于51单片机的智能啤酒发酵罐多点温度压力水位排水加水检测报警系统设计(程序+Proteus仿真+配套资料等)

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

无涯教程-TensorFlow - 优化器

Optimizers是扩展类&#xff0c;其中包括用于训练特定模型的附加信息&#xff0c;Optimizers类使用给定的参数初始化&#xff0c;用于提高速度和性能&#xff0c;以训练特定模型。 TensorFlow的基本Optimizers是- tf.train.Optimizer 此类在tensorflow/python/training/opti…

shell 脚本的基础

目录 一、什么是shell脚本 二、有哪些表达式 一、变量 二、运算符 三、语句类型分哪几种 一、条件语句 二、分支语句 三、循环语句 四、函数 五、正则表达式 一、标准正则 二、扩展正则 六、文件操作四剑客 七、shell 一、shell是一种命令解释器 二、查看系统中…

esp-idf的电源管理——esp系列芯片的功耗管理硬件

1 芯片的供电 当我们为芯片设计外围电路时,必然会设计供电电路,这是芯片能正常工作的前提。通常是电源电压通过一个稳压电路之后给到芯片的供电引脚。以S3为例,下面是S3的引脚图: 其中以VDD打头的就是供电引脚。比如VDD3P3、VDDA等。供电引脚不止一个,这些供电引脚有什么…

一百六十二、Kettle——Linux上安装的Kettle9.2创建共享资源库

一、目的 在实际的团队开发过程中&#xff0c;不可能将自己的转换、作业和调度等配置存放在自己的电脑中&#xff0c;所以kettle提供资源库的方式&#xff0c;供我们将转换、作业等存储下来&#xff0c;构成一种协作平台。 Kettle支持的资源库类型有三种&#xff1a; 1.Pent…

Python资源楼:40份干货资料+思维导图

盖个楼&#xff0c;收集了社区的Python资料&#xff0c;方便大家查看。 &#xff08;说盖楼好像也不对&#xff0c;叫索引&#xff1f;呵呵不管了&#xff09; 一段小前言&#xff08;首帖要好看点&#xff09;&#xff1a; Python语法简单&#xff0c;很容易上手&#xff0c…