在Matplotlib中使用stem命令中的复数

时间:2012-08-13 12:38:15

标签: python numpy matplotlib

我有两个numpy数组a(具有整数值)和b(具有复数)。现在当我使用stem(a,b)时,我收到以下错误:

C:\Python27\lib\site-packages\numpy\core\numeric.py:235: 
    ComplexWarning: Casting complex values to real discards the imaginary 
    part return array(a, dtype, copy=False, order=order) 
    Out[5]: <Container object of 3 artists>

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

你想要它做什么? stem绘图绘制每个水平a处的垂直线 从基线到高度b的位置。但在这里,b是一个复数 - 你需要它是一个实值的数量。也许你想要绝对值np.abs(b)?还是真实的部分,np.real(b)?也许是两个茎图,stem(a, np.real(b)); stem(a, np.imag(b))

答案 1 :(得分:0)

您只需要干线图的复数的实部。

x = np.arange(-64,64,1)
C = [cmath.exp(abs(i) * cmath.log(a3)) for i in x]
stem(x,real(C))

Stem plot