Plot_surface数组,其中包含None作为值

时间:2016-05-12 21:37:12

标签: python-3.x matplotlib bezier triangulation nonetype

我有三个看起来像这样的数组:

x=[[None, None, 2.0, None, None], [None, None, 2.0, None, None], [None, 1.0, 2.0, 3.0, None], [None, 1.0, 2.0, 3.0, None], (0.0, 1.0, 2.0, 3.0, 4.0)]
y=[[None, None, 3.0, None, None], [None, None, 2.25, None, None], [None, 1.5, 1.5, 1.5, None], [None, 0.75, 0.75, 0.75, None], (0.0, 0.0, 0.0, 0.0, 0.0)]
z=[[None, None, 2.0, None, None], [None, None, 3.328125, None, None], [None, 2.75, 3.4375, 3.75, None], [None, 2.8125, 2.9375, 3.0625, None], (2.0, 3.4375, 3.0, 2.5625, 4.0)]

我想绘制非(None,None,None)

的值
ax.plot_surface(x, y, z,  rstride=4, cstride=4)

我获得:

TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

代码2

    import matplotlib.pyplot as plt
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib import cm
    import mpl_toolkits.mplot3d.axes3d as axes3d
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    x=[[np.nan, np.nan, np.nan, 2.0, np.nan, np.nan, np.nan], [np.nan, np.nan, np.nan, 1.9999999999999993, np.nan, np.nan, np.nan], [np.nan, np.nan, 1.333333333333333, 1.9999999999999996, 2.6666666666666665, np.nan, np.nan], [np.nan, np.nan, 1.333333333333333, 2.0, 2.6666666666666674, np.nan, np.nan], [np.nan, 0.66666666666666652, 1.333333333333333, 2.0, 2.6666666666666661, 3.3333333333333344, np.nan], [np.nan, 0.66666666666666652, 1.333333333333333, 2.0, 2.6666666666666674, 3.333333333333333, np.nan], (0.0, 0.66666666666666641, 1.3333333333333335, 2.0, 2.666666666666667, 3.3333333333333339, 4.0)]
    y=[[np.nan, np.nan, np.nan, 3.0, np.nan, np.nan, np.nan], [np.nan, np.nan, np.nan, 2.4999999999999996, np.nan, np.nan, np.nan], [np.nan, np.nan, 2.0, 1.9999999999999996, 2.0, np.nan, np.nan], [np.nan, np.nan, 1.5, 1.5, 1.5, np.nan, np.nan], [np.nan, 0.99999999999999989, 0.99999999999999989, 1.0, 1.0, 1.0, np.nan], [np.nan, 0.49999999999999989, 0.49999999999999994, 0.5, 0.5, 0.5, np.nan], (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)]
    z=[[np.nan, np.nan, np.nan, 2.0, np.nan, np.nan, np.nan], [np.nan, np.nan, np.nan, 3.034722222222221, np.nan, np.nan, np.nan], [np.nan, np.nan, 2.8888888888888884, 3.4814814814814801, 3.7037037037037042, np.nan, np.nan], [np.nan, np.nan, 3.1828703703703694, 3.4375, 3.5254629629629628, np.nan, np.nan], [np.nan, 2.2962962962962958, 3.0740740740740735, 3.1111111111111107, 3.1111111111111107, 3.7777777777777786, np.nan], [np.nan, 2.5162037037037033, 2.9745370370370363, 2.8217592592592586, 2.6875, 3.2013888888888893, np.nan], (2.0, 3.2592592592592595, 3.4074074074074074, 3.0, 2.5925925925925934, 2.7407407407407414, 4.0)]
    ax.scatter(x, y, z)
    ax.plot_surface(x, y, z,  rstride=4, cstride=4)
    plt.show()

我得到:get

我希望:expect

0 个答案:

没有答案