在matplotlib中设置刻度标签

时间:2016-12-01 19:32:45

标签: python python-3.x matplotlib

我试图在matplotlib中使用tick标签进行一些操作。但似乎代码没有做我想要的,我不明白为什么?没有标签。

In[1]: import matplotlib.pyplot as plt
       import numpy as np

In[2]: x = np.arange(0,10)

In[3]: plt.plot(x,x)

       locs, labs = plt.xticks()
       plt.xticks(locs[1:], labs[1:])

       plt.show()

enter image description here

请帮忙!我想要的是删除x轴上的第一个标签:
enter image description here
我用的是:
python 3.5.2
matplotlib 1.5.3
赢了10

3 个答案:

答案 0 :(得分:4)

试试这个:

locs, labs = plt.xticks() 
plt.xticks(locs[1:]) 
plt.show()

Here you go

答案 1 :(得分:3)

{{1}}

答案 2 :(得分:2)

这是对你的问题的直接回答,而不是对你的困境的补救。

>>> locs, labs = plt.xticks()
>>> locs
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])
>>> labs
<a list of 10 Text xticklabel objects>

请注意,当您对 xticks 进行 get 调用时,会生成一个用于刻度线的一维位置数组和一个对象列表。但是,当您对 xticks 进行 put 调用时,它需要一个类似于数组的位置集合以及一个类似于数组的字符串集合。出于某种原因, xticks 似乎没有在给出对象列表时呱呱叫。