Matplotlib:如何同时设置图中所有绘图的线条宽度

3
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(10))
ax.plot(2 * range(10))

我有一个函数(basic_axis(ax)),它可以设置轴线的线宽(ax.spines.set_linewidth()),刻度长度(ax.tick_params(...)等等,但我不知道如何使用一个值来设置所有绘图的线宽。是否可以通过一个仅使用ax作为参数的函数来完成这个功能?

1个回答

3

所有类似线条的艺术家都被添加到Axes.lines中,因此您应该能够使用以下方式:

def bulk_lw_adjuster(ax, lw=5):
    for ln in ax.lines:
        ln.set_linewidth(lw)

3
如果您想使用一行代码,可以使用plt.setp(ax.lines, linewidth=5)。这里提一下,如果发帖者以前没有使用过setp - Joe Kington

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接