【问题标题】:Increase resolution of figure while preserving dimensions in Python matplotlib在 Python matplotlib 中保留尺寸的同时提高图形分辨率
【发布时间】:2018-06-12 21:49:03
【问题描述】:

我使用以下方法创建了一个图形:

import matplotlib.pyplot as plt
%matplotlib inline
fig1 = plt.figure(figsize=(2, 2), dpi=100)

我想提高图形的分辨率,所以我将fig1的dpi从100增加到200。但是,这将像素尺寸从(200,200)更改为(400,400),这是什么我不想。如果我让 dpi=200 和 figsize=(1, 1),像素尺寸保持 (200, 200),但图像看起来很有趣。 Please see the output from my Jupyter notebook here.

Matplotlib 中有没有办法在 Jupyter 中渲染时在不改变像素尺寸的情况下提高 fig1 的分辨率

(注意:我用于生成上面链接的数字的代码来自this question。)

【问题讨论】:

  • 也许有一个误解,但“分辨率”是指你有多少像素,因为没有一半或四分之一像素。
  • 我的错误——我认为分辨率和像素密度是可以互换的。我认为我真正追求的是一种在保持分辨率不变的同时增加像素密度的方法。
  • 不确定,它们是同一个东西。您要问的似乎是您希望在 100 像素的图像中有 200 像素,这是不可能的,因为没有半像素。
  • 我现在明白了。我一直在寻找的是一种在保持其质量的同时更改以交互模式呈现的图像大小的方法(想想你可以通过拖动在 Powerpoint 中更改图像尺寸的方式)。我目前的解决方案是将数字保存到我的目录中,然后显示在 Markdown 单元格中。虽然我可以使用 HTML 编辑宽度,但这个解决方案仍然感觉很笨拙。
  • 您可以使用 dpi=100 显示图像并使用 dpi=300 保存。是这个意思吗?

标签: python matplotlib jupyter-notebook


【解决方案1】:

特别是在 2x 的情况下(例如对于视网膜屏幕),是的,使用

%config InlineBackend.figure_format = 'retina'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2017-02-13
    • 2017-12-03
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    相关资源
    最近更新 更多