首页 > 解决方案 > 如何访问关键字的关键字?

问题描述

我正在尝试访问关键字的关键字-具体来说,我有:

import matplotlib.pyplot as plt
fig = plt.figure()
plot1 = fig.add_subplot(211, ylabel = 'foo',xlabel='bar')

我想将ylabel的字体大小更改为10,将xlabel的字体大小更改为20。ylabel和xlabel都有自己的关键字(即https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.axes .Axes.set_ylabel.html#matplotlib.axes.Axes.set_ylabel),但我不确定如何在我称为 add_subplot 的同一行中控制它们的关键字。

当然,我可以这样做:

import matplotlib.pyplot as plt
fig = plt.figure()
plot1 = fig.add_subplot(211)
fig.set_ylabel(ylabel = 'foo', fontsize = 10) 
fig.set_xlabel(xlabel = 'bar', fontsize = 20) 

但是这种方式需要比我想要的更多的代码行。

我试过调用 ylabel.fontsize ,但没​​有奏效:

fig.add_subplot(211, ylabel.fontsize = 50)

这只是给出了 SyntaxError: keyword can't be an expression

标签: pythonmatplotlibkeyword

解决方案


但是这种方式需要比我想要的更多的代码行。

对于 2D 绘图,它们实际上只是 2 行(短)代码。我强烈建议不要“保存”代码行,尤其是在 Python 这样的语言中,PEP 标准的行长为 80 个字符,即多行短行优于几行长行。

对于手头的问题,如果您真的想保存(最多)1 行代码,您可以尝试更新 rcParams 字典。

import matplotlib.pyplot as plt

plt.rcParams.update({'xtick.labelsize':'x-large', 'ytick.labelsize':'x-large'})
fig = plt.figure()
plot1 = fig.add_subplot(211)

不过要小心,这个字典更新会覆盖这个脚本的默认标签大小,而不仅仅是手头的数字。


推荐阅读