如何在matplotlib中为一个数字设置本地rcParams或rcParams

时间:2014-04-01 17:28:18

标签: python matplotlib plot

我正在python使用matplotlib编写一个绘图功能。用户可以指定一些内容,例如"刻度线"。最简单的方法是更改​​rcParams,但这些是全局属性,因此在调用绘图函数之后,所有新绘图都会有刻度线。

有没有办法专门为一个数字设置绘图默认值?

或者至少有一种改变一个绘图函数属性的好方法,然后将它们更改回之前使用的值(不一定是rcdefaults)?

1 个答案:

答案 0 :(得分:16)

您可以在rc_context语句中使用with函数,该语句将使用您为下面缩进的块提供的字典设置rc参数,然后将它们重置为块之后的任何内容。例如:

with plt.rc_context({"axes.grid": True, "grid.linewidth": 0.75}):
    f, ax = plt.subplots()  # Will make a figure with a grid
    ax.plot(x, y)

f, ax = plt.subplots()  # Will make a figure without a grid
ax.plot(x, y)