我基本上只想画一条线,当图形穿过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轴时会显示的线。此代码适用于我要从中进行分析的图形。