需要帮助制作一条线,该线显示3d图形何时与Z平面相交

时间:2019-07-09 00:46:17

标签: python numpy matplotlib graph 3d

我基本上只想画一条线,当图形穿过Z轴时就可以勾勒轮廓。因此,仍然会有显示此二次方的图以及指示图根的线。如果无法做到这一点,则将图形制成两种颜色,z <0时为红色,z> = 0时为蓝色。请我已经为此工作了几个小时,无法在任何地方找到解决方案。

我尝试了许多方法,例如将其分为z> = 0和z <0的两个图,但这并不能准确地描绘出该图,因为它在行中存在步长错误。

我还尝试在Z轴上将平面设为0,并尝试查看重叠是否会在图形上显示为一条线,而不会出现。

我尝试的所有方法都给我一个错误,或者没有按照我的意愿描绘图表。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
from sys import argv


def equation(delta=0.05):
    #for K = 3
    #from matplotlib.mlab import bivariate_normal

    x = y = np.arange(0,1,delta)
    X,Y = np.meshgrid(x,y)

    Z = (3*Y-Y-9*X+2*3*X)**2 - 4*(9*X-3*X)*(Y-3*Y+3-3*X)

    return X, Y, Z
#x = F
#y = P

fig = plt.figure()
ax = Axes3D(fig)

#set labels for graph
ax.set_xlabel('F')
ax.set_ylabel('P')
ax.set_zlabel('Z')

x,y,z = equation(0.01)
surf =ax.plot_surface(x,y,z)

plt.show()

我可以形成图形,但是无法获得横穿Z轴时会显示的线。此代码适用于我要从中进行分析的图形。

0 个答案:

没有答案