更改matplotlib图中的X刻度

4 投票
1 回答
2596 浏览
提问于 2025-04-18 00:44

我在matplotlib中画了一个图,结果是这样的:graph

x轴上的数值是[50,100,150,200,250]。我想把它们改成[10,20,30,40,50],但不想改变图的其他部分。我不想用plt.xlim(),因为那样只会改变图的一部分显示。那我该怎么做呢?

我的绘图代码:

def plot_random_angular():
    m = np.loadtxt('angle.txt')
    uhol = m[:,6]
    vys = []
    for x in xrange(1,len(uhol)):
        vys.append((uhol[x] - uhol[x-1])*4)
    x=np.linspace(0,len(vys),len(vys))
    plt.ylim(-5,5)
    plt.xlim(0,250)
    plt.grid()
    plt.xlabel('time [s]',fontsize = 18)
    plt.ylabel('angle [deg]',fontsize = 18)
    plt.plot(x,vys,'black')
    return vys

1 个回答

1

把所有东西都缩小到原来的五分之一?

ax=plt.gca() 
#ax.get_xticks() will get the current ticks
ax.set_xticklabels(map(str, ax.get_xticks()/5.0))

撰写回答