在python中绘制3d表面

时间:2018-12-18 13:01:31

标签: python plot 3d

我需要表面绘制一个系数(5)随时间变化的函数。我将这些系数保存在数据框(名为“ c”)中,日期作为列标题...

因此,我的X轴应由0到16之间的数字组成,从1跳到一个np.arange(0,16,1)

我的Y轴是我的约会日期,

最后我的Z轴应该是我的函数的结果:

(c[0])+ (c[1]*((1- exp(-x/c[4]))/(x/c[4])))+ (c[2]*((((1-exp(-x/c[4]))/(x/c[4])))- (exp(-x/c[4]))))+ (c[3]*((((1-exp(-x/c[5]))/(x/c[5])))- (exp(-x/c[5]))))  

我尝试将数据转换为纵向数据(而不是使用函数系数,而是使用保存在数据帧c中每个标头下的结果)数据,并使用:

ax.plot_trisurf(df['X'], df['Y'], df['Z'], linewidth=0.1)

这看起来不错,但是我需要在值之间进行颜色区分,但是我做得不好。

我也尝试使用:

ax.plot_surface(X, Y, Z, cmap=cm.coolwarm, linewidth=0, antialiased=False)

但是我不能正确获得函数的动态部分,因此,我使用meshgrid定义的Z是静态的。

此致

0 个答案:

没有答案