在 Python 的 matplotlib 中控制背景

Controlling the background in Python's matplotlib

我想在我的图中有空白背景,但是,由于某种原因,默认设置似乎不是。这是一个例子:

import matplotlib.pyplot as plt
x=[1,2]
y=[3,4]
plt.plot(x,y)

这给了我下图:

为什么我默认得到这个网格灰色背景?如何更改默认值?也许这与只为一个数字设置而不更改默认值有何不同?谢谢

编辑:显然,这是因为我导入了 seaborn 模块,正如答案所建议的那样。但是为什么会出现这种行为呢?所以如果我想在一个脚本中同时使用seabornmatplotlib,我需要继续设置默认背景吗?

你在问题中展示的实际上不是matplotlib默认样式。你可能会得到这个,因为你可能已经导入了一些其他模块。

要恢复默认样式,请使用

plt.rcParams.update(plt.rcParamsDefault)

当例如seaborn 是进口的,它有自己的风格。这是一个非常贪婪的行为,但你当然可以事后设置另一种风格

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('seaborn-paper')

您可能想看看 style reference

当不需要其他样式时,

可能会很有趣。这个想法是,只加载 API,而不加载来自 seaborn

的样式
import seaborn.apionly as sns