程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

Pycharm(Python)下imshow函数显示问题的解决方法

发布于2019-08-07 13:30     阅读(2540)     评论(0)     点赞(4)     收藏(4)


问题描述

在很多情况下,我们都需要使用matplotlib里面的imshow函数来显示图像,如果使用的是jupyter notbook直接输入matplotlib.pyplot.imshow()来显示是没有任何问题的。但是在IDE中()比如pycharm就会出现闪退或者无法显示的情况。

解决方法

原因是有些书籍中确实只把代码给到imshow这一行,但是其实因为notebook过于强大,可以在缺少某些代码的情况下正常显示(我猜的)。而正常的python代码中应该在最后面加入显示的show()函数,我的理解是imshow()只是对需要现实的的图片进行参数定义(比如大小,颜色,xy轴信息),而show()才是最终打印的函数。

广泛流行的方法就是 在matplotlib.pyplot.imshow(…)的后面再加上一行matplotlib.pyplot.show(注意括号里为空)

下面给出官方的reference和一个demo,大家可以参考进行规范编程

官方reference

https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html#matplotlib-pyplot-imshow

matplotlib.pyplot.imshow
matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=, filternorm=1, filterrad=4.0, imlim=, resample=None, url=None, *, data=None, **kwargs)[source]
Display an image, i.e. data on a 2D regular raster.

官方demo

Barcode Demo

This demo shows how to produce a one-dimensional image, or “bar code”.

import matplotlib.pyplot as plt
import numpy as np

#Fixing random state for reproducibility
np.random.seed(19680801)

#the bar
x = np.random.rand(500) > 0.7

barprops = dict(aspect='auto', cmap='binary', interpolation='nearest')

fig = plt.figure()

#a vertical barcode
ax1 = fig.add_axes([0.1, 0.1, 0.1, 0.8])
ax1.set_axis_off()
ax1.imshow(x.reshape((-1, 1)), **barprops)

#a horizontal barcode
ax2 = fig.add_axes([0.3, 0.4, 0.6, 0.2])
ax2.set_axis_off()
ax2.imshow(x.reshape((1, -1)), **barprops)

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:高富帅

链接:https://www.pythonheidong.com/blog/article/11228/8ab8ca6594974b806736/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)