繁体   English   中英

在matplotlib中设置刻度标签

[英]Set tick labels in 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()

在此输入图像描述

请帮忙! 我想要的是删除x轴上的第一个标签:
在此输入图像描述
我正在使用:
python 3.5.2
matplotlib 1.5.3
赢10

尝试这个:

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

干得好

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

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

>>> 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似乎没有在给出对象列表时呱呱叫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM