草庐IT

python - 如何在 matplotlib 中将图例添加到 imshow()

我正在使用matplotlib在plot()或bar()中,如果我们给它们添加标签,我们可以很容易地放置图例。但如果它是contourf()或imshow()怎么办我知道有一个colorbar()可以呈现颜色范围,但它并不满足。我想要这样一个有名字(标签)的图例。我能想到的是,为矩阵中的每个元素添加标签,然后,尝试legend(),看看它是否有效,但是如何为元素添加标签,比如值??在我的例子中,原始数据是这样的:1,2,3,3,42,3,4,4,51,1,1,2,2例如,1代表“草”,2代表“沙”,3代表“山”……等等。imshow()非常适合我的情况,但没有图例。我的问题是:有没有可

python - 如何从 plt.imshow() 获取数据?

我有以下代码importscipy.miscimportmatplotlib.pyplotasplta=plt.imshow(scipy.misc.lena())我希望实现的是通过访问a或其子项来获取lena上的数据。原因是我将通过plt.gcf()或plt.gca()访问图像 最佳答案 a应该是一个matplotlib.image.AxesImage实例,在这种情况下您可以使用a.get_array()和a.set_array(data)数组存储为掩码数组。示例http://matplotlib.org/examples/anim

python - 如何在不拉伸(stretch)图像的情况下更改 matplotlib 中 imshow 的比例?

我想以类似于此处第二个示例的方式使用imshow进行绘图http://www.scipy.org/Plotting_Tutorial但要重新定义轴的比例。我还希望图像在执行此操作时保持静止!示例代码:fromscipyimport*frompylabimport*#Creatingthegridofcoordinatesx,yx,y=ogrid[-1.:1.:.01,-1.:1.:.01]z=3*y*(3*x**2-y**2)/4+.5*cos(6*pi*sqrt(x**2+y**2)+arctan2(x,y))hold(True)#Creatingimageimshow(z,orig

python - 在 python (Matplotlib) 中使用子图和 imshow 时删除白色边框

importnumpyasnpimportsysimportmatplotlibasmplimportmatplotlib.pyplotasplt我使用下面的代码来保存一张图片fig,ax=plt.subplots(frameon=False)ax.axis('off')ax.imshow(array[:,:,0,0,0])fig.savefig("file.png",bbox_inches='tight')然而,我得到的是这显然还有一个白色的边框。我该如何摆脱它?array.shape是:(256,256,1,1,3) 最佳答案

python - Matplotlib imshow() 的手动定义轴标签

以下代码:importmatplotlib.pyplotaspltimportnumpyasnpdata=np.random.randint(0,100,size=(10,10))plt.imshow(data,cmap='jet',interpolation='nearest')plt.show()给出下图:但是,我想手动定义它们,而不是数组中索引对应的轴标签。例如,我希望轴标签不是上面的(0,2,4,6,8),而是(0,10,20,30...)。这是我为此尝试过的代码:importmatplotlib.pyplotaspltimportnumpyasnpdata=np.random

python - matplotlib imshow 扭曲颜色

这个问题在这里已经有了答案:OpenCVgivingwrongcolortocoloredimagesonloading(6个答案)关闭3年前。我尝试使用matplotlib.pyplot中的imshow函数,它可以完美地显示灰度图像。当我尝试表示rgb图像时,它改变了颜色,显示出更偏蓝的颜色。看一个例子:importcv2importmatplotlib.pyplotaspltlena=cv2.imread("lena.jpg")plt.imshow(lena)plt.show()生成的图像类似于this虽然原始图像是this如果它与颜色图有关,有什么方法可以让它与rgb图像一起使用

python - 在 Matplotlib.pyplot.imshow() 中显示来自 OpenCV 的二维数组

我有一个Python设置,我在其中使用OpenCV库以二维数组的形式读取视频的帧——这些视频是灰度的,所以我使用无符号8位整数作为像素值。在下一步中,我尝试使用matplotlib中的pyplot.imshow()来显示视频帧。不幸的是,我得到了一些毫无意义的东西。这是读取视频的代码:importnumpyasnpimportcvdefread_video(filename):video=cv.CaptureFromFile('%s'%filename)num_frames=int(cv.GetCaptureProperty(video,cv.CV_CAP_PROP_FRAME_COU

python - 使用 plt.imshow() 显示多张图片

如何使用matlib函数plt.imshow(image)显示多张图片?例如我的代码如下:forfileinimages:process(file)defprocess(filename):image=mpimg.imread(filename)plt.imshow(image)我的结果显示只有最后处理过的图像有效地覆盖了其他图像 最佳答案 您可以使用以下设置框架来显示多个图像:importmatplotlib.pyplotaspltimportmatplotlib.imageasmpimgdefprocess(filename:s

python - imshow 中 matplotlib 的颜色值?

当我在matplotlib中使用imshow()时,我想知道我点击的一个点的颜色值。有没有办法通过matplotlib中的事件处理程序找到这些信息(与你点击的x,y坐标可用的方式相同)?如果没有,我如何找到这些信息?具体来说,我正在考虑这样一个案例:imshow(np.random.rand(10,10)*255,interpolation='nearest')谢谢!--艾琳 最佳答案 这是一个可行的解决方案。它仅适用于interpolation='nearest'。我仍在寻找一种更简洁的方法来从图像中检索内插值(而不是四舍五入选取

python - 函数 imshow 断言失败 : size. width>0 && size.height>0

我在树莓派上使用opencv2和python。我是python和opencv的新手。我试图读取jpeg图像并显示图像,它显示以下错误:/home/pi/opencv-2.4.9/modules/highgui/src/window.cpp:269:\error:(-215)size.width>0&&size.height>0infunctionimshow.代码是:importcv2#windowstodisplayimagecv2.namedWindow("Image")#readimageimage=cv2.imread('home/pi/bibek/book/test_set/