Python 子图设置多轴属性
Python subplot set multiple axis properties
我正在使用 pythons plt.subplot 函数生成多个图。我在轴上使用循环,以生成具有特定数据的图并设置轴属性。下面,我放了一个我所说的代码工作流程的简化示例(比喻)。
fig,axis = plt.subplots(3,2)
loop over rows:
loop over columns:
axis[row][col].plt(plot the data)
axis[row][col].grid()
axis[row][col].legend()
axis[row][col].set_xlabel(...)
etc...
所以我想到的是,也许我可以以更通用的方式设置轴的通用设置属性,这也增强了代码的可读性。现在我知道一些属性可以通过 plt.rcParams 和其他属性通过 plt.setp 设置,但我认为更优雅的方法是以下方法以 numpy 数组方式访问所有轴元素
axis[:][:].set_xlabel(...)
但是,我收到以下错误消息:“'numpy.ndarray' 对象没有属性 'set_xlabel'”
有什么优雅的方法可以正确地应用我的解决方案或类似的东西吗?
干杯
没有。图例和标签特定于子图。您可以在全局范围内使用 rcparams
设置网格。
如果您为所有子图设置相同的标签,您可以考虑像 this question
中那样只设置一次
我正在使用 pythons plt.subplot 函数生成多个图。我在轴上使用循环,以生成具有特定数据的图并设置轴属性。下面,我放了一个我所说的代码工作流程的简化示例(比喻)。
fig,axis = plt.subplots(3,2)
loop over rows:
loop over columns:
axis[row][col].plt(plot the data)
axis[row][col].grid()
axis[row][col].legend()
axis[row][col].set_xlabel(...)
etc...
所以我想到的是,也许我可以以更通用的方式设置轴的通用设置属性,这也增强了代码的可读性。现在我知道一些属性可以通过 plt.rcParams 和其他属性通过 plt.setp 设置,但我认为更优雅的方法是以下方法以 numpy 数组方式访问所有轴元素
axis[:][:].set_xlabel(...)
但是,我收到以下错误消息:“'numpy.ndarray' 对象没有属性 'set_xlabel'”
有什么优雅的方法可以正确地应用我的解决方案或类似的东西吗?
干杯
没有。图例和标签特定于子图。您可以在全局范围内使用 rcparams
设置网格。
如果您为所有子图设置相同的标签,您可以考虑像 this question
中那样只设置一次