2016-12-01 174 views
1

我试图用matplotlib中的刻度标签进行一些操作。但是,似乎代码没有做到我想要的,我不知道为什么?没有标签。在matplotlib中设置刻度标签

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
我使用:
蟒蛇3.5.2
matplotlib 1.5.3
赢得10

回答

3

试试这个:

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

Here you go

3
fig, ax = plt.subplots() 
ax.plot(x, x) 
ticks = ax.get_xticks() 
ax.set_xticks(ticks[1:]) 
plt.show() 
+2

虽然此代码片段可能会解决问题,但它并不能解释为什么或如何回答问题。请[请提供您的代码解释](// meta.stackexchange.com/q/114762/269535),因为这确实有助于提高帖子的质量。 **标记/评论者:** [仅限代码解答,例如downvote,请勿删除!](// meta.stackoverflow.com/a/260413/2747593)(注意:我不熟悉有了这个域,所以这个答案实际上可能很简单,可以做出解释,从而减少提示,这是不必要的。你可能还想添加一个解释来防止更多的NAA/VLQ标志。) –

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它产生的位置为刻度线一维数组和对象列表。然而,当你做一个打电话给xticks它期望类似数组的收集位置和类似于数组的字符串集合。出于某种原因,xticks似乎没有被提供该物品列表的cro cro声。

相关问题