Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么set#xticks不';不设置刻度的标签吗?_Python_Matplotlib - Fatal编程技术网

Python 为什么set#xticks不';不设置刻度的标签吗?

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

我希望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.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)