在 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
模块,正如答案所建议的那样。但是为什么会出现这种行为呢?所以如果我想在一个脚本中同时使用seaborn
和matplotlib
,我需要继续设置默认背景吗?
你在问题中展示的实际上不是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
我想在我的图中有空白背景,但是,由于某种原因,默认设置似乎不是。这是一个例子:
import matplotlib.pyplot as plt
x=[1,2]
y=[3,4]
plt.plot(x,y)
这给了我下图:
为什么我默认得到这个网格灰色背景?如何更改默认值?也许这与只为一个数字设置而不更改默认值有何不同?谢谢
编辑:显然,这是因为我导入了 seaborn
模块,正如答案所建议的那样。但是为什么会出现这种行为呢?所以如果我想在一个脚本中同时使用seaborn
和matplotlib
,我需要继续设置默认背景吗?
你在问题中展示的实际上不是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。
当不需要其他样式时,import seaborn.apionly as sns