如何在matplotlib中正确绘制-dBc值?

时间:2016-03-10 14:51:20

标签: python matplotlib matplotlib-widget

所以我想用这样绘制均衡器的振幅的幅度:

enter image description here

但是我的所有均衡器振幅都在-dBc(负dB载波)。我目前的代码如下:

self.ui.mplCoeff.canvas.ax.clear()
rect = 1,24,-100,0
self.ui.mplCoeff.canvas.ax.axis(rect)
self.ui.mplCoeff.canvas.ax.bar(tapIndices,tapAmplitudedBc)

结果如下所示,这基本上与我需要的相反。有人有线索吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

首先,让我从一些示例数据创建类似于您的情节的内容:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(11)
y = - x**2
plt.bar(x, y)

这会产生以下图像:

Plot like in question

现在,您可以使用matplotlib.pyplot.barbottom参数将图像转换为所需图像:

plt.bar(x, 100 + y, bottom = -100)
# or, more general:
# plt.bar(x, -m + y, bottom = m)
# where m is the minimum value of your value array, m = np.min(y)

多田:

Better plot