我使用Matplotlib绘制3 * 4子图。我打算将刻度标签的样式更改为'sci',以便绘图更加整洁。但是使用以下代码,ticklabel_format甚至不会对轴生效。
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_format函数甚至没有运行。
答案 0 :(得分:0)
它没有生效,因为ax.ticklabel_format
接受任何关键字参数并创建字典。要查看此文档,请查看文档here,您会看到它需要参数**kwargs
。如果您只是将styl
替换为style
,那么您的代码就可以运行了。
我建议你看看this SO post来了解出了什么问题,但简而言之:该功能可以采取任何论据。然后它尝试将这些功能传递给其他功能。如果这些都不需要它,那么论证就会在以太中丢失。因此,没有错误消息!
尝试使用以下示例来感受**kwargs
。
def f(**kwargs):
print kwargs
return
f(anything='something')