matplotlib:figimage 未显示在 Jupyter 笔记本中

2024-02-24

我正在尝试以其真实尺寸渲染图像(未缩放或拉伸),使用 matplotlib 执行此操作的最简单方法似乎是figimage.

但是,当我尝试在 Jupyter 笔记本中使用它时,该图没有显示。其他图显示良好,这似乎只影响figimage:

正如您所看到的,第一个图显示得很好,但第二个图则不然。我究竟做错了什么?

当我在 IPython shell 中运行以下代码时,该图按预期显示,所以可能是我的 Jupyter 设置有问题?

import matplotlib
from matplotlib import pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 500)
plt.plot(x, np.sin(x))
plt.show()

data = np.random.random((500,500))
plt.figimage(data)
plt.show()

figimage只为当前图形添加背景。如果您没有现有的图形,该命令将不会渲染任何内容。以下代码片段在 IPython Notebook 内部和外部都适用:

%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np

plt.figure()

x = np.linspace(0, 2 * np.pi, 500)
plt.plot(x, np.sin(x))

data = np.random.randn(500, 500)
plt.figimage(data)

plt.show()

但是,它并没有达到您想要/期望的效果。为了以真实尺寸渲染图像,您必须使用figsize and dpi,正如其他人之前尝试过的那样[1] https://stackoverflow.com/questions/13714454/specifying-and-saving-a-figure-with-exact-size-in-pixels [2] https://stackoverflow.com/questions/32884796/matplotlib-padding-between-plot-and-axis [3] https://stackoverflow.com/questions/35429984/how-to-completely-remove-the-white-space-around-a-scatterplot [4] https://stackoverflow.com/questions/11837979/removing-white-space-around-a-saved-image-in-matplotlib:

data = np.random.randn(500, 500)
dpi = 80
shape = data.shape

fig, ax = plt.subplots(figsize=(shape[1]/float(dpi), shape[0]/float(dpi)), dpi=dpi, frameon=False)
ax.imshow(data, extent=(0,1,1,0))
ax.set_xticks([])  # remove xticks
ax.set_yticks([])  # remove yticks
ax.axis('off')     # hide axis
fig.subplots_adjust(bottom=0, top=1, left=0, right=1, wspace=0, hspace=0)  # streches the image and removes margins
fig.savefig('/tmp/random.png', dpi=dpi, pad_inches=0, transparent=True) # Optional: save figure
fig.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib:figimage 未显示在 Jupyter 笔记本中 的相关文章

随机推荐

  • 清理项目、重建项目、在 Android Studio 中运行项目

    有谁知道或知道 android studio 中这三个功能如何工作的详细答案 我认为 Eclipse 可能还有 IntelliJ 也具有相同或相似的功能 我已经看到并被告知答案 这些答案给出了它们如何工作的简要概述 据我了解 重建还将清理项
  • Printf 函数格式化程序

    有以下简单的C 代码 include
  • 在 MVC 中,您在哪里放置对模型类的引用?

    在询问了不同的人并且没有人提供我所说的 至少有点具体的答案 之后 我一直想知道 问题 在 iPhone 应用程序中 应用程序应该保留对其模型类的引用 使用MVC http developer apple com iphone library
  • 如何根据 Haskell 中的区域设置格式化数字?

    在Python中我可以使用locale format根据区域设置漂亮地打印数字 gt gt gt import locale gt gt gt locale setlocale locale LC ALL en US UTF 8 en US
  • 在 ASP.NET MVC 3 中缓存数据

    我有一个 ASP NET MVC 3 应用程序 它基本上只是一组 Web 服务 这些 Web 服务由一组控制器操作公开 每个控制器操作都会查询我的数据库 因为我的数据很少发生变化 而且陈旧的数据也不用担心 所以我想我应该实现一些缓存来提高性
  • Reactjs 笑话 jQuery 未定义

    我正在使用 jest 来测试我的reactJS 组件 在我的reactJS组件中 我需要使用jquery UI 所以我在组件中添加了以下内容 var jQuery require jquery require jquery ui ui co
  • scala 中的 <:< 运算符

    任何人都可以提供一些详细信息 lt
  • 在 SkiaSharp 中绘制旋转文本

    如何绘制旋转文本SkiaSharp 目前我正在旋转SKCanvas 绘制文本然后将其旋转回来 但我认为可能有一种更有效的方法来做到这一点 canvas RotateDegrees 45 20 20 canvas DrawText Text
  • Onclick 不触发

    我的母版页上有一组按钮 我已附加下面的代码 但没有引发 onclick 事件 我提取了最终页面源代码 但没有出现 onclick 事件 正如你所看到的 我尝试了几种不同的方法来解决这个问题 我正在寻找到服务器的正常回发 但当我单击这些按钮中
  • 使用 JSONpath 从 JSON 文件中提取叶子

    我有来自 REST API 的 JSON 输出 输出如下所示 sprints id 10516 sequence 10516 name SP121 BRK relief state CLOSED linkedPagesCount 0 id
  • Ansible:regex_search 过滤器比较以及如何调试 when 子句

    今天我花了一些时间尝试编写一些 Ansible 脚本 以便仅在相关命令输出中不存在相应行的情况下运行命令 经过一番尝试和错误后 我得到了一些对我有用的东西 但我不清楚为什么我与空字符串的初始比较不起作用 这是一个演示我的问题的剧本 name
  • 计算二进制数字范围内 1 的数量的算法

    所以我刚回来ACM 编程竞赛表现还不错 但有一个问题没有一支球队能解决 问题 从大于 0 的整数 N0 开始 令 N1 为 N0 的二进制表示形式中 1 的数量 因此 如果N0 27 N1 4 对全部i gt 0 令 Ni 为二进制表示中
  • java中的wav幅度(立体声或更多通道)

    大家好 有谁知道如何用 Java 查找 WAV 文件中的幅度吗 如果文件是立体声的 或有更多通道 如何将数据放入数组中 Thanks 处理 WAV 文件头 https ccrma stanford edu courses 422 winte
  • 将应用程序包上传到 Google Play 控制台时出现有关“AD_SERVICES_CONFIG”的错误

    详细的错误消息如下 任何想法 非常感谢 Your app is not allowed to specify AD SERVICES CONFIG property in the manifest 我尝试向清单添加权限 但仍然遇到相同的错误
  • Angular 4 数组验证

    我需要帮助formArray验证在反应形式 我想验证数组中的每个项目 但我不知道该怎么做 谢谢 html代码
  • JS - 合并至少共享一个共同值的数组

    如果我有以下数组 var myArr 0 1 2 1 2 6 9 10 10 11 11 12 13 如何合并至少共享一个公共值的数组以产生以下输出 var myMergedArr 0 1 2 6 9 10 11 12 13 Thanks
  • 使用 Gson 将单键值转为 Json

    我有一个键值对 需要使用 Gson 将其转换为 Json 我该怎么做呢 说我有 class MyClass String key String value bunch of other fields public String single
  • 如何在 Vista 中使用 SetWindowsHookEx 并通过 UAC 挂钩管理应用程序?

    我试图弄清楚是否有一种方法可以使用 SetWindowsHookEx 并能够影响在 Vista 上以管理员权限运行且启用了 UAC 的应用程序 这个应用程序需要向其他窗口的标题栏添加一个小按钮 以启用一些多显示器感知处理 我本以为这是不可能
  • 自动映射器无法映射到 IEnumerable

    我有两个这样的课程 public class SentEmailAttachment ISentEmailAttachment public SentEmailAttachment public string FileName get se
  • matplotlib:figimage 未显示在 Jupyter 笔记本中

    我正在尝试以其真实尺寸渲染图像 未缩放或拉伸 使用 matplotlib 执行此操作的最简单方法似乎是figimage 但是 当我尝试在 Jupyter 笔记本中使用它时 该图没有显示 其他图显示良好 这似乎只影响figimage 正如您所