mplot3d给出空白图但没有错误

时间:2013-07-04 07:35:56

标签: python matplotlib mplot3d

所以我试图使用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的版本不对,但不确定如何检查它。

提前致谢。

2 个答案:

答案 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的问题。