Python绘图之插值法三维曲面绘制(以国债中债收益率为例图)

1.问题概要

问题:用Hermite插值得到2024年收益率曲面,要求,给出程序代码以及曲面图,参考“中债债券收益率曲线和估值和估值基本原则”,工具不限,推荐用python。

给的数据为excel表格,数据为“2024年中债国债收益率曲线标准期限信息.xlsx”,要求实现最终结果如下图的代码:


在这里插入图片描述

2.题目分析

首先,我们分析题目所给出的文件,共有四列,一千多行,然后跟图片对比,要想实现题目的要求,我们绘制三维图需要:1、找到xyz轴的数据;2、使用python折线图函数;3、设置图例以及坐标轴标签。
在这里插入图片描述这样,我们就能确定自己所需要的库以及技术。

3.整体架构流程

考虑题目要求使用python,所有只能用python来写,实际上要是想实现这个图,用matlab写起来也是很快的。使用python来绘制如上图的三维折面图,需要考虑用到如下几个三方库,保证已经pip安装好:

  • pandas
  • matplotlib

4.技术细节

编写该代码需要的基础有:

  1. 会使用pandas库,因为题目给的是excel文件,所以我们要用pandas处理数据。
  2. 会使用matplotlib,当然,这个库的函数特别多,我们不太可能一一记住函数用法,这时候只需要百度即可,或使用文心进行提问怎么进行折线图的绘制,我们得知绘三维图需要用到plot_trisurf这个函数。
  3. 数据的预处理,因为通过观察得知,我们excel第一列是一个时间数据,如果将其直接作为x轴的话是不可行的,我们需要将这一列全转为数字,用到的方法就是将相同的日期编为一个数值,例如前17个数据都改为0,后面改为1,其次是2,等等直到最后一行数据。
  4. 绘图并使用图例函数,将xyz的label设置为该题目中的要求。

具体代码如下

import pandas as pd
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from matplotlib.ticker import MaxNLocator

# 读取Excel文件
<
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐以礼

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值