Python 为什么ticklabel\u格式不生效?
我正在使用Matplotlib绘制一个3*4子图。我将把勾号标签的样式改为“sci”,这样绘图可以更整洁。但是使用下面的代码,ticklabel_格式甚至不会在轴上生效Python 为什么ticklabel\u格式不生效?,python,matplotlib,Python,Matplotlib,我正在使用Matplotlib绘制一个3*4子图。我将把勾号标签的样式改为“sci”,这样绘图可以更整洁。但是使用下面的代码,ticklabel_格式甚至不会在轴上生效 import matplotlib.pylab as pl fig, axes = pl.subplots(nrows=3, ncols=4) for i,row in enumerate(axes): for j,ax in enumerate(row): ax.set_title('title')
import matplotlib.pylab as pl
fig, axes = pl.subplots(nrows=3, ncols=4)
for i,row in enumerate(axes):
for j,ax in enumerate(row):
ax.set_title('title')
ax.ticklabel_format(styl='plain')
pl.tight_layout()
pl.show()
我故意输入了一个“styl”,但它没有报告错误。因此,我假设ticklabel\u format函数甚至没有运行。它没有生效,因为ax.ticklabel\u format接受任何关键字参数并创建字典。要了解这一点,请查看文档,您将看到它需要一个参数**kwargs。如果你只是用style替换styl,那么你的代码就可以工作了 我建议您查看一下,以了解出了什么问题,但简单地说:函数可以接受任何参数。然后,它尝试将这些信息传递给其他函数。如果这些都不需要它,那么这个论点就完全消失在乙醚中了。因此,没有错误消息 尝试使用下面的示例来体验**kwargs
什么是pl?是mpl吗?我很确定这段代码根本不起作用,除非你导入pyplot,这可能就是你所说的pl。请确保在发布代码时,它真的做到了你认为它能做到的——直接复制/粘贴是最好的。@jojo,谢谢你的评论。这是matplotlib.pyplot,我已经重新编辑过了。@Ajean,谢谢你的建议。我重新编辑过
def f(**kwargs):
print kwargs
return
f(anything='something')