Python Matplotlib';谁的默认值位于哪里?
我正在查看文档,尤其是其Python Matplotlib';谁的默认值位于哪里?,python,matplotlib,Python,Matplotlib,我正在查看文档,尤其是其dpi参数: 分辨率以每英寸点数为单位。如果None它将默认为matplotlibrc文件中的值savefig.dpi 现在,文档给出了四个查找位置的列表:只有最后一个(由包提供)适用于我,这通过调用matplotlib.matplotlib\u fname()得到确认 但是,包提供的matplotlibrc实际上是由matplotlib提供的 我的问题是: 这是文档错误吗?如果我们遵循文档,这是未定义的行为 “默认值”在哪里定义?这是在另一个文件中,还是在库中硬编码?(
dpi
参数:
分辨率以每英寸点数为单位。如果None
它将默认为matplotlibrc文件中的值savefig.dpi
现在,文档给出了四个查找位置的列表:只有最后一个(由包提供)适用于我,这通过调用matplotlib.matplotlib\u fname()
得到确认
但是,包提供的matplotlibrc
实际上是由matplotlib
提供的
我的问题是:
matplotlib.rcParams['savefig.dpi']
以获取其默认值(在我的例子中,它是figure
),我询问这些默认值来自何处。)matplotlib默认rcParams在文件
rcsetup.py
中定义
当前开发版本的savefig.dpi
的默认值为
'savefig.dpi':['figure',validate#dpi],#dpi
(当前行)
其中,“图形”
表示应使用图形的dpi。地物dpi的值默认为
'figure.dpi':[100,验证浮点数],#dpi
(当前行)
但请注意两件事:
import matplotlib.pyplot as plt
print(plt.rcParams)
这些值可能已经不同于默认值。例如,Jupyter笔记本电脑将默认dpi设置为72:关于第一个问题,即使这些值在matplotlibrc中被注释掉,它们也应该与
rcsetup.py
中的值相同。因此,要么该值被注释掉,然后它们仍然默认为rc文件中的值,要么它们没有被注释掉,其中的语句显然也是正确的。1。matplotlibrc
中有一行:“忽略空行或以注释#符号开头的行”。因此,如果希望通过matplotlibrc
自定义某些属性,则必须取消对其注释。2.我相信我会回答你的问题。我的问题不是关于如何将默认值设置为matplotlib
。对不起,第一个问题中的“this”是什么意思还不太清楚。我指的是,文档似乎表明默认值必须来自matplotlibrc文件,尽管matplotlib仍然提供默认值,但正如我在回答中所说,这些值应该始终相同。因此,在实践中,这个语句总是正确的,除非其他机制(如解释器或后端)更改设置。