Python 为什么set#xticks不';不设置刻度的标签吗?
我希望xlabs为Python 为什么set#xticks不';不设置刻度的标签吗?,python,matplotlib,Python,Matplotlib,我希望xlabs为101102… 但是,如果我切换到使用plt.xticks(x,[i+100表示x中的i])并显式重写该函数,它就会工作。轴上的将设置位置并设置显示的文本 import pylab as plt x = range(1, 7) y = (220, 300, 300, 290, 320, 315) def test(axes): axes.bar(x,y) axes.set_xticks(x, [i+100 for i in x]) a = plt.subp
101102…
但是,如果我切换到使用plt.xticks(x,[i+100表示x中的i])
并显式重写该函数,它就会工作。轴上的将设置位置并设置显示的文本
import pylab as plt
x = range(1, 7)
y = (220, 300, 300, 290, 320, 315)
def test(axes):
axes.bar(x,y)
axes.set_xticks(x, [i+100 for i in x])
a = plt.subplot(1,2,1)
test(a)
b = plt.subplot(1,2,2)
test(b)
如果您不希望每个(甚至任何)记号都有标签,另一个可能有用的函数是
轴。tick_参数
def test(axes):
axes.bar(x,y)
axes.set_xticks(x)
axes.set_xticklabels([i+100 for i in x])
我猜是因为在您的代码集中,xticks得到的是生成器对象,而不是列表。请尝试
list([i+100表示x中的i)]
。@rabs没有涉及生成器,它们都是列表,我正在使用python 2So,非常清楚!这个答案多年后仍然有用,谢谢@它看起来仍然很奇怪。plt.xticks(位置,标签)可以工作,而setxticks在axis上就像子地块不能工作一样,一个人需要另一个调用setxticklabel。我在pyplot上调用了坏api
def test(axes):
axes.tick_params(axis='x',which='minor',direction='out',bottom=True,length=5)