3

我想在这个图的 x 轴上有更多的刻度(例如 20hz、40hz、80hz、160hz、320hz、640hz 等的刻度):

在此处输入图像描述

您是否知道如何调整此代码:?

from numpy import cos, sin, pi, absolute, arange, log10, linspace
from pylab import figure, clf, plot, xlabel, ylabel, xlim, ylim, title, grid, axes, show, semilogx

f=linspace(20,20000, num=100)
ampl=linspace(-5,1, num=100)

semilogx(f, ampl, linewidth=2)
xlabel('Frequency (Hz)')
ylabel('Gain (dB)')
title('Frequency Response')
xlim(20, 20000)
ylim(-150, 10)
grid(True)
show()

PS:由于给出的答案,这是解决方案:

t=[1,2,4,8,16,32,64,128,256,512,1024]` 
t1= [x*20 for x in t]
xticks(t1,t1)
4

2 回答 2

3

请尝试xticks(),我认为这就是您所需要的。

于 2013-11-05T22:15:36.163 回答
0

给遇到此问题的任何人的注意事项 - 请务必在 xticks()之前调用 semilogx (),否则您的标签将被重置

于 2017-10-03T18:35:28.773 回答