当前位置: 首页 > 面试题库 >

如何在matplotlib中“关闭” imshow()的模糊效果?

白吕恭
2023-03-14
问题内容

我想绘制概率图,但是imshow会为概率为零的点生成模糊值。如何摆脱围绕真实网格点的模糊外围?

例:

import numpy as np
import matplotlib.pyplot as plt

a=np.asarray([[  0.00000000e+00 , 1.05824446e-01 ,  2.05086136e-04,   0.00000000e+00],
[  1.05824446e-01 ,  3.15012305e-01  , 1.31255127e-01  , 1.05209188e-01],
 [  2.05086136e-04  , 1.31255127e-01 ,  0.00000000e+00 ,  0.00000000e+00],
 [  0.00000000e+00   ,1.05209188e-01  , 0.00000000e+00  , 0.00000000e+00]])
im=plt.imshow(a,extent=[0,4,0,4],origin='lower',alpha=1,aspect='auto')
plt.show()

问题答案:

默认情况下(在mpl 2.0中已更改),imshow对数据进行插值(就像对图像所做的那样)。您需要做的就是告诉它不要插值:

im = plt.imshow(..., interpolation='none')

'nearest'也将为您想要的工作。

doc



 类似资料:
  • 问题内容: 我在用 在或中,如果我们向其添加标签,则可以轻松放置图例。但是如果是或 我知道有一个可以显示颜色范围的颜色,但是并不满意。我想要一个带有名称(标签)的 我能想到的是,向矩阵中的每个元素添加标签,然后,尝试legend(),以查看其是否有效,但是如何向元素添加标签(如值)? 就我而言,原始数据如下: 例如,1代表“草”,2代表“沙”,3代表“山” …依此类推。imshow()非常适合我的

  • 所以我的问题是:我通常把我的笔记本电脑连接到外部屏幕上,一切正常,直到我需要把我的笔记本电脑带到大学去做进度报告。当我的笔记本电脑没有连接到外部屏幕时,imshow显示的窗口在底部被切断,如图所示。 以前有人遇到过这个问题吗?如果有,你能分享如何解决这个问题吗?我的笔记本电脑使用windows 10,python 3.6.4和opencv 3.3.0。 我当前的代码有点长,所以我将在这里给出流程:

  • 注意: Internet Explorer和Safari不支持SVG滤镜! <defs> 和 <filter> 所有互联网的SVG滤镜定义在<defs>元素中。<defs>元素定义短并含有特殊元素(如滤镜)定义。 <filter>标签用来定义SVG滤镜。<filter>标签使用必需的id属性来定义向图形应用哪个滤镜? SVG <feGaussianBlur> 实例 1 <feGaussianBlu

  • 问题内容: 我正在研究一些计算机视觉算法,我想展示一个numpy数组在每个步骤中如何变化。 现在有效的是,如果我在代码末尾有一个简单的代码,则该窗口将显示并显示最终图像。 但是,我想做的是在每次迭代中更改图像时更新并显示imshow窗口。 因此,例如,我想这样做: 问题在于,只有完成整个计算后,Matplotlib窗口才会被激活。 我已经尝试了原生matplotlib和pyplot,但是结果是一样

  • 了解如何在 Adobe XD 中巧妙地向对象中添加模糊蒙版,或者对整个对象进行模糊处理。 如何添加背景模糊效果? 通过以下方法,您可以向对象或者画板上的图像添加背景模糊效果,以便强调或不再强调对象的某些部分: 创建一个模糊蒙版,用于模糊下方的任何可见内容 向选定对象添加背景模糊效果,对整个对象进行模糊处理 当您向对象添加背景模糊效果时,这些更改是非破坏性的,您可以恢复已执行模糊处理的原始对象或图像

  • 给定这个Java类: 给出以下Java代码: 我得到了这个输出:[值:1,值:2,值:3] 当我运行这段代码时: 我期望得到输出[Value:1,Value:4,Value:9],但我得到了[Value:1,Value:2,Value:3],所以列表中的元素没有被修改。 但是当我运行这个时: 这是: 我两次都得到了我期望的输出([Value: 1, Value: 4, Value: 9]) 为什么