【问题标题】:How do I set matplotlib's DPI for every cell in Jupyter如何为 Jupyter 中的每个单元格设置 matplotlib 的 DPI
【发布时间】:2018-11-16 06:10:37
【问题描述】:

当我尝试在 Jupyter 中为 Matplotlib 绘图设置 DPI 时,它似乎在每个单元格中都被重置:

代码:

# In[1]:

get_ipython().run_line_magic('matplotlib', 'inline')
from matplotlib import pyplot
print(pyplot.rcParams['figure.dpi'])
pyplot.rcParams['figure.dpi'] = 150
print(pyplot.rcParams['figure.dpi'])

# In[2]:

print(pyplot.rcParams['figure.dpi'])

如何为整个笔记本的绘图设置一致的 DPI?

这是在 Windows 10 上使用 Jupyter 1.0.0、Matplotlib 3.0.1、Python 3.6。

【问题讨论】:

  • 这个问题我也很感兴趣。我找不到figure.dpi 的默认设置是什么,但是阅读这个问题我认为它是 72 DPI,对吗?
  • @FabioCapezzuoli 我认为它通常更像 90-100,但取决于操作系统和其他系统因素。

标签: python matplotlib jupyter-notebook


【解决方案1】:

这是 IPython 中的一个错误[*]。要解决这个问题,请使用笔记本的第一个单元格来设置后端。操作后续单元格中的 rcParams。


[*] 见:

让我在这里引用@takluyver 的a comment

我认为,在调用 %matplotlib inline 的单元格之后会发生一些设置。因此,如果您在该单元格中设置内容,它们可以被 IPython 的设置覆盖。之后,您更改的内容应该(我希望)保留在单元格之间。

【讨论】:

  • 啊太棒了!我经常在不同的显示器和环境之间切换,所以这比将(甚至是全局)DPI 传递给每个绘图函数要好得多。
猜你喜欢
  • 2018-09-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 2011-10-27
  • 2011-04-22
  • 2019-11-03
  • 1970-01-01
相关资源
最近更新 更多