总是感觉搞懂了画图,然而每次遇到复数值的时候都感觉思路不是很清晰,比如,我们想要做函数numpy.exp(1j * x)的图像,我们可以看到此时当我们带入x值进入后会得到复数值。如果我们直接用该复数值作图就会遇到警告信息提示,代码如下:
import numpy as np
import matplotlib.pyplot as plt
vertex = np.pi
x = np.linspace(-vertex, vertex, 100)
f = np.exp(1j * x)
plt.figure()
plt.plot(x, f)
plt.show()
"""
ComplexWarning: Casting complex values to real discards the imaginary part
return array(a, dtype, copy=False, order=order)
"""
我们可以看到提示信息说我们因为使用的是复数,所以自动丢弃了虚数部分,仅仅保留了实数部分,上述代码我们此时可以通过添加np.real()函数来消除这个警告信息。从这里我们也可以得出,matplotlib模块的画图命令要求输入参数应该为实数。
import numpy as np
import matplotlib.pyplot as plt
vertex = np.pi
x = np.linspace(-vertex, vertex, 100)
f = np.exp(1j * x)
plt.figure()<