0

所以我正在尝试使用 mplot3d 和 matplotlib 绘制一个 3d 图表。代码如下:

# 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()

其中,到期和罢工是一维数组,而 vols 是具有适当大小的二维数组。一切运行正常,所有数据均有效。但是,我得到了一个完全空白的窗口,只有灰色背景。

任何人都可以给我一些关于发生了什么的提示吗?我怀疑 matplotlib 的版本不对,但不确定如何检查。

提前致谢。

4

2 回答 2

0

在我拥有的 matplotlib 版本(1.2.1)中,projection="3d"除非您还包括:

from mpl_toolkits.mplot3d import Axes3D

我唯一无法检查的是线路

Y = dates.date2num(maturities)

由于我不熟悉date2num预期的数据类型,您有任何示例数据吗?

除此之外,一切对我来说都很好

于 2013-07-04T15:14:20.000 回答
0

关于什么

matplotlib.pyplot.ioff()

这解决了我的“只有灰色背景”——mplot3d 的问题。

于 2015-03-18T18:52:09.640 回答