所以我试图使用mplot3d和matplotlib绘制一个三维图表。代码如下:
# generate the graph
# vols is a 2D array indexed by [maturity, strike].
def DrawGraph(self, strikes, maturities, vols):
import matplotlib.dates as dates
import matplotlib.pyplot as pyplot
# prepare data
Y = dates.date2num(maturities)
X, Y = numpy.meshgrid(strikes, Y)
# plot
fig = pyplot.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_wireframe(X, Y, vols)
pyplot.show()
成熟和罢工是1D阵列,而vols是具有适当大小的2D阵列。 一切正常,所有数据都有效。然而,我得到了一个完全空白的窗户,只有灰色背景。
任何人都可以给我一些关于发生了什么的提示?我怀疑matplotlib的版本不对,但不确定如何检查它。
提前致谢。
答案 0 :(得分:0)
在matplotlib的版本中我有(1.2.1)projection="3d"
会引发错误,除非你还包括:
from mpl_toolkits.mplot3d import Axes3D
我唯一无法检查的是
行Y = dates.date2num(maturities)
由于我不熟悉date2num
期望的数据类型,您是否有任何样本数据?
除此之外,一切都适合我
答案 1 :(得分:0)
怎么样?
matplotlib.pyplot.ioff()
这解决了我的“只有灰色背景” - mplot3d的问题。