从DataFrame绘制三维曲面图

2024-06-15 21:04:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用数据框中的mpl_toolkits.mplot3d绘制曲面图

import py_vollib.black_scholes as bs
import py_vollib.black_scholes.implied_volatility as iv
import py_vollib.black_scholes.greeks.analytical as greeks
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

K= 100
sigma = 0.2
r =0.01
flag= "c"
t= 0.5

spot_range = np.arange(10,200,10)
vol_range = np.arange(0,0.80,0.04)

df=pd.DataFrame(index=spot_range,columns=vol_range)

m=0

for i in spot_range:
    n=0
    for j in vol_range:
        df.iloc[m,n]= greeks.delta(flag,i,K,t,r,j)
        n=n+1
    m=m+1
    

fig=plt.figure()
ax=fig.gca(projection='3d')
surf=ax.plot_surface(df.index,df.columns, df)
plt.show()

创建的数据帧如下所示

enter image description here 此图显示一个空图形:

enter image description here

请让我知道如何绘制数据帧


Tags: 数据pyimportdfasnprangeplt