擅长:python、mysql、java
<p>恢复默认参数的两个选项:</p>
<ul>
<li><code>plt.rcdefaults()</code>(如<a href="https://stackoverflow.com/a/60523330/4124317">@ilke444's answer</a>中所述)</li>
<li>或者更新字典,比如<code>plt.rcParams.update(plt.rcParamsDefault)</code></li>
</ul>
<hr/>
<blockquote>
<p>So why does <code>plt.rcParams = plt.rcParamsDefault.copy()</code> not work?</p>
</blockquote>
<p>这是因为您只需将一些新字典分配给变量。它不会更新原始版本。要理解这一点,需要一个简单的案例</p>
<pre><code>mydict = dict(a=5, b=5)
class Usage():
def __init__(self, dic):
self.dic = dic
def do_something(self):
print(self.dic)
usage = Usage(mydict)
usage.do_something()
# prints {'a': 5, 'b': 5}
mydict.update({"a" : 0})
usage.do_something()
# prints {'a': 0, 'b': 5}
mydict = dict(a=2, b=2)
usage.do_something()
# still prints {'a': 0, 'b': 5}, because only the variable
# mydict is changed, but how should `usage` know about that change?
</code></pre>